Laravel 5 Không thể mở bootstrap /../ nhà cung cấp / autoload.php


366

Gần đây tôi đã cài đặt Laravel 5 thông qua trình soạn thảo. Tôi đã thử tạo một bộ điều khiển mới bằng artisan và tôi gặp lỗi sau:

bootstrap /../ nhà cung cấp / autoload.php. Không thể mở luồng: Không có tệp hoặc thư mục như vậy. Thư mục "nhà cung cấp" không tồn tại.

Tui bỏ lỡ điều gì vậy?

Câu trả lời:


307

Chạy trình soạn thảo với --no-scripts

composer update --no-scripts  

Điều này sẽ khắc phục vấn đề. Tôi đã thử điều này trên Mac và Linux.


14
Đôi khi, khi bạn chạy: "cài đặt trình soạn thảo", bạn cũng gặp phải lỗi đó, vì vậy tùy chọn tốt nhất là lần đầu tiên chạy: "trình soạn thảo cài đặt --no-scripts" và sau đó chạy cài đặt trình soạn thảo bình thường.
herohat

3
Tài liệu về trình soạn thảo: --no-scripts: Bỏ qua việc thực thi các tập lệnh được xác định trong composer.json. ( getcomposer.org/doc/03-cli.md#update )
Aine

Tốt hơn hết là sử dụng cài đặt trình soạn thảo, bởi vì nó sẽ chạy mọi thứ cần thiết để cài đặt tất cả các phụ thuộc, bao gồm các tập lệnh.
Leandro Jacques

lỗi Composer không thể tìm thấy một tập tin composer.json trong C: \ soạn Để khởi tạo một dự án, xin vui lòng tạo một file composer.json như mô tả trong getcomposer.org "Bắt đầu" phần
PHPFan

composer installđã không làm việc cho tôi, composer update --no-scriptsđã làm công việc. Cảm ơn!
endo64

137

Bạn đang sử dụng hệ điều hành nào? Đối với Windows: Chuyển đếnCommand Prompt

đặt đường dẫn đến www/{ur project}

Cho tôi : www/laravel5

Sau đó gõ lệnh này: composer install

Nó sẽ tự động cài đặt tất cả các phụ thuộc trong vendor/


97

Chạy composer installtrong thư mục dự án gốc của bạn (hoặc php composer.phar install).


76

Hóa ra tôi đã không kích hoạt openssl trong php.ini của mình nên khi tôi tạo dự án mới với trình soạn thảo, nó đã được cài đặt từ nguồn. Tôi đã thay đổi và chạy

composer update

bây giờ thư mục nhà cung cấp đã được tạo.


57

Bạn đã tạo một dự án mới hay bạn đã sao chép một dự án hiện có?

Nếu bạn nhân bản một dự án hiện có, nó rất quan trọng để chạy

composer install

Bằng cách đó, tất cả các phụ thuộc bị thiếu sẽ được cài đặt.

Nhưng nếu bạn tạo một dự án mới, bạn nên chạy lệnh này để tạo một dự án mới bằng trình soạn thảo

composer create-project laravel/laravel name-of-your-project

23

Tôi gặp phải vấn đề tương tự. Nó xảy ra do trình soạn thảo không thể cài đặt các phụ thuộc được chỉ định trong tệp composer.json. thử chạy

composer install 

Nếu điều này không giải quyết được vấn đề, hãy đảm bảo các mô-đun php sau được cài đặt php-mbopes php-dom

Để cài đặt tiện ích mở rộng này, hãy chạy như sau trong thiết bị đầu cuối

sudo apt-get install php-mbstring php-dom

khi quá trình cài đặt hoàn tất

Hãy thử chạy lệnh trong thư mục gốc dự án của bạn

composer install 

4
Tôi đã cài đặt php-xml để hoạt động này thay vì php-dom (không tồn tại trong 16.04).
Evan Carroll

1
Tuyệt quá!!! Nó đã làm việc!! Cài đặt php-xml thay vì php-dom là hành động mặc định cho apt-get trong
ubfox

1
nó hoạt động sau khi cài đặt mbopes và php-dom. Cảm ơn bạn!
bắn tung tóe

21

Chỉ cần chạy nó trong thư mục mà bạn đã cài đặt dự án của bạn

composer install

1
Tôi đã làm điều này và nó đã làm việc, nhưng tại sao? Tôi muốn hiểu lý do xin vui lòng.
Simon Suh

1
@SimonSuh vì một số lý do (lỗi mạng, dự án mới được tạo mà không thông qua tất cả các lệnh, lỗi trong quá trình cài đặt thủ công, cài đặt tùy chỉnh bản dựng ...) phụ thuộc vào trình soạn thảo không cài đặt hoặc không cập nhật. lệnh này sẽ cài đặt và cập nhật tất cả các phụ thuộc của dự án của bạn và điều đó sẽ khắc phục vấn đề. hy vọng nó là đủ
Williem

20

Bạn cần tạo lại autoload.phptập tin. bạn có thể sử dụng dump-autoloadđể làm điều đó mà không cần phải cài đặt hoặc cập nhật.

sử dụng

composer dump-autoload

để tạo autoload.phplại tập tin trong /vendorthư mục.


Điều này hoạt động với tôi nhưng gặp lỗi này Lỗi nghiêm trọng: Không tìm thấy Class 'Illuminate \ Foundation \ Application'.
Adnan haider

19

Thực hiện theo bước này dưới đây đã giải quyết vấn đề của tôi. Bạn có thể thử

composer update --no-scripts 
composer update

1
Giải quyết vấn đề của tôi quá! Cảm ơn
Crysfel

1
Cảm ơn bạn rất nhiều!
GeekHades

16

Sau khi kiểm tra phpphiên bản và rất nhiều nghiên cứu, vấn đề đã được giải quyết Composer, vì vậy hãy chạy lệnh sau

composer install --ignore-platform-reqs


6

Khi dự án mới tạo ra laravel yêu cầu tải nhà cung cấp để tự động tải thư viện, chúng tôi sử dụng cập nhật trình soạn thảo để

composer update

Nhà soạn nhạc là người quản lý phụ thuộc cho phép bạn ủy thác trách nhiệm quản lý các phụ thuộc của mình cho bên thứ ba.


5

Chỉ cần chạy các lệnh sau,

composer update

Hoặc là

composer install

5

đi đến thư mục dự án của bạn thông qua cmd. chạy lệnh sau

composer update

nó sẽ cài đặt thư mục nhà cung cấp bị thiếu và các tập tin trong dự án của bạn.

nhưng trong một số trường hợp, nó sẽ báo lỗi như "Cấu hình của bạn không cho phép kết nối tới ....." trong cmd.

để đi đến tập tin composer.json của bạn ,

đổi "secure-http": truesang"secure-http": false

nhưng trong một số trường hợp (như trong trường hợp của tôi), bạn có thể không tìm thấy dòng như vậy trong tệp của mình. cho rằng làm hành động sau đây:

change "config": {
        "preferred-install": "dist"
}

đến

"config": {
    "preferred-install": "dist",
    "secure-http": false
}

và chạy lại composer updatelệnh.

hy vọng điều này sẽ giải quyết vấn đề.


5

Giải pháp này đã làm việc cho tôi. Lý do là không có thư mục nhà cung cấp trong ứng dụng của bạn.

Thực hiện theo các bước sau:

  1. nếu dự án của bạn có composer.jsontập tin, hãy xóa nó

  2. sau đó chạy

    composer require phpspec/phpspec

Lệnh đó thêm thư mục nhà cung cấp vào dự án của bạn


4

Chỉ cần thiết lập một dự án mới bằng cách sử dụng composerthay vì laravelnhư thế này:

composer create-project --prefer-dist laravel/laravel myProje

3

Tôi cũng có lỗi đó. Nhưng không có điều nào ở trên giải quyết được vấn đề. Vì vậy, tôi gỡ cài đặt và một lần nữa cài đặt trình soạn thảo. Sau đó tôi đã làm composer update. và vấn đề đã được khắc phục.


saucomposer install
Hos Mercury

3

Tôi đã có cùng một vấn đề với laravel và nghệ nhân, giải pháp:

php artisan key:generate

2

Trước khi bạn thực hiện các hướng dẫn sau, bạn cần đảm bảo rằng bạn đã cài đặt trình soạn thảo trên toàn cầu trên máy của mình; Mở thiết bị đầu cuối Mac của bạn và chạy lệnh sau:

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

một khi trình soạn thảo được cài đặt trên toàn cầu sẽ chạy lệnh sau khi bạn đang ở trong thư mục của dự án:

composer install

Sau khi hoàn thành, nó cập nhật và cài đặt tất cả các gói cần thiết.


2

Chúng tôi đã gặp lỗi vì chúng tôi thiếu thư mục nhà cung cấp trong dự án của chúng tôi, Thư mục nhà cung cấp chứa các phụ thuộc Trình soạn thảo của chúng tôi.

Cần /vendorthư mục vì tất cả các gói đều ở đó và bao gồm tất cả các lớp mà Laravel sử dụng, Một vấn đề có thể được giải quyết sau chỉ sau hai bước:

composer update --no-scripts 
composer update
  • --no-scripts : Bỏ qua việc thực thi các tập lệnh được xác định trongcomposer.json
  • cập nhật nhà soạn nhạc : Điều này sẽ kiểm tra các phiên bản mới hơn của các thư viện bạn yêu cầu trong dự án của bạn. Nếu tìm thấy phiên bản mới hơn và tương thích với ràng buộc phiên bản được xác định trong composer.jsontệp, nó sẽ thay thế phiên bản trước đó được cài đặt. Các composer.locktập tin sẽ được cập nhật để phản ánh những thay đổi này.

Hai lệnh này, chúng tôi sẽ Tái tạo thư mục nhà cung cấp trong dự án của chúng tôi và sau đó dự án của chúng tôi sẽ hoạt động trơn tru.


1

Tôi đã thêm composer.locktệp vào .gitignore, sau khi cam kết tệp đó vào lỗi kho lưu trữ đã biến mất :)


1

Một cái gì đó tôi nhận ra là tệp composer.json của bạn sẽ có một số loại kịch bản như

"scripts": {
    "post-root-package-install": [
        "php -r \"copy('.env.example', '.env');\""
    ],
    "post-create-project-cmd": [
        "php artisan key:generate"
    ],
    "post-install-cmd": [
        "php artisan clear-compiled",
        "php artisan optimize"
    ],
    "pre-update-cmd": [
        "php artisan clear-compiled"
    ],
    "post-update-cmd": [
        "php artisan optimize"
    ],
    "post-autoload-dump": [
        "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
        "@php artisan package:discover"
    ]
},

những gì làm việc cho tôi:

"scripts": {
    "post-root-package-install": [
        "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
    ],
    "post-create-project-cmd": [
        "@php artisan key:generate"
    ],
    "post-autoload-dump": [
        "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
        "@php artisan package:discover"
    ]
},

loại bỏ post install cmdgiúp chạy cài đặt soạn nhạc mà không có bất kỳ vấn đề.

Hi vọng điêu nay co ich

Chúc mừng !!


1

Xóa thư mục nhà cung cấp và chạy lệnh cài đặt composer. Nó đang hoạt động 100%


1

Bạn đang thiếu thư mục nhà cung cấp, có thể là kho lưu trữ nhân bản mới hoặc dự án mới của nó

thư mục nhà cung cấp được điền bởi tệp nhị phân của trình soạn thảo, đọc tệp composer.json hoặc các yêu cầu hệ thống và cài đặt được đóng gói trong thư mục nhà cung cấp và tạo tập lệnh tự động tải có tất cả các lớp

composer update


0

Trong trường hợp của tôi, tôi phải kích hoạt một phần mở rộng khác, cụ thể là php_mbstring.dlltrong php.initệp trước khi nó có thể hoạt động. Nó được liệt kê dưới đây extension=php_mbstring.dll. Tìm nó trong php.initệp và xóa dấu chấm phẩy ( ;) phía trước nó và lưu tệp.

Sau này chạy install composerlại trong thư mục gốc của ứng dụng Laravel của bạn và sẽ hoạt động.


0

Nếu bạn là người dùng Windows, bạn có thể gỡ cài đặt Trình soạn thảo. Sau đó cài đặt Trình soạn thảo. Sau đó, bạn cài đặt Laravel. Có lẽ nó sẽ làm việc.


0

vấn đề của tôi được giải quyết bằng

composer update
composer install
php artisan key:generate

Nếu bạn có bất kỳ vấn đề nào khác, bạn có thể xóa bộ đệm và cấu hình Bộ đệm ẩn Clear Route:

php artisan route:cache

Xóa bộ nhớ cache:

php artisan view:clear

Xóa bộ nhớ cache cấu hình:

php artisan config:cache

0

Tôi đã nhận được điều này khi tôi đã làm composer updatethay vì composer install.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.