Laravel 5 ไม่สามารถเปิด bootstrap /../ vendor / autoload.php ที่ต้องการได้


366

ฉันเพิ่งติดตั้ง Laravel 5 ผ่านทางผู้แต่ง ฉันพยายามสร้างคอนโทรลเลอร์ใหม่โดยใช้ช่างฝีมือและฉันได้รับข้อผิดพลาดดังต่อไปนี้:

บูต /../ ผู้ขาย / autoload.php ไม่สามารถเปิดสตรีม: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว โฟลเดอร์ "ผู้ขาย" ไม่มีอยู่

ฉันพลาดอะไรไปรึเปล่า?

คำตอบ:


307

เรียกใช้ผู้แต่งด้วย - ไม่มีสคริปต์

composer update --no-scripts  

สิ่งนี้จะแก้ไขปัญหา ฉันลองสิ่งนี้บน Mac และ Linux


14
บางครั้งเมื่อคุณเรียกใช้: "การติดตั้งผู้แต่ง" คุณก็มีข้อผิดพลาดเช่นกันดังนั้นตัวเลือกที่ดีที่สุดคือการเรียกใช้ครั้งแรก: "การติดตั้งผู้แต่ง - ไม่มีสคริปต์" แล้วเรียกใช้การติดตั้งผู้แต่งตามปกติ
herohat

3
เอกสารประกอบผู้แต่ง: - ไม่มีสคริปต์: ข้ามการดำเนินการของสคริปต์ที่กำหนดไว้ใน composer.json ( getcomposer.org/doc/03-cli.md#update )
Aine

จะดีกว่ามากที่จะใช้การติดตั้งนักแต่งเพลงเพราะมันจะทำงานทุกอย่างที่จำเป็นในการติดตั้งการอ้างอิงทั้งหมดรวมถึงสคริปต์
Leandro Jacques

นักแต่งเพลงที่มีข้อผิดพลาดไม่สามารถหาไฟล์ composer.json ใน C: \ นักแต่งเพลงเพื่อเริ่มต้นโครงการ, โปรดสร้างไฟล์ composer.json ตามที่อธิบายไว้ในgetcomposer.org "การเริ่มต้น" ส่วน
PHPFan

composer installไม่ทำงานสำหรับฉันcomposer update --no-scriptsทำงานได้ ขอบคุณ!
endo64

137

คุณใช้ระบบปฏิบัติการใดอยู่ สำหรับ Windows: ไปที่Command Prompt

กำหนดเส้นทางไป www/{ur project}

สำหรับฉัน : www/laravel5

จากนั้นพิมพ์คำสั่งนี้: composer install

มันจะติดตั้งทั้งหมดพึ่งพาโดยอัตโนมัติ vendor/



76

กลายเป็นว่าฉันไม่ได้เปิดใช้งาน openssl ใน php.ini ของฉันดังนั้นเมื่อฉันสร้างโปรเจ็กต์ใหม่ด้วยตัวแต่งเพลงมันถูกติดตั้งจากแหล่งที่มา ฉันเปลี่ยนมันและวิ่ง

composer update

ตอนนี้โฟลเดอร์ผู้ขายถูกสร้างขึ้น


57

คุณสร้างโครงการใหม่หรือสร้างโครงการที่มีอยู่เดิมหรือไม่

หากคุณโคลนโครงการที่มีอยู่เป็นสิ่งสำคัญมากที่จะทำงาน

composer install

วิธีการอ้างอิงทั้งหมดที่หายไปจะถูกติดตั้ง

แต่ถ้าคุณสร้างโครงการใหม่คุณควรใช้คำสั่งนี้เพื่อสร้างโครงการใหม่โดยใช้ผู้แต่ง

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

23

ฉันพบปัญหาเดียวกัน มันเกิดขึ้นเพราะผู้แต่งไม่สามารถติดตั้งการพึ่งพาที่ระบุในไฟล์ composer.json ลองเรียกใช้

composer install 

หากวิธีนี้ไม่ช่วยแก้ปัญหาตรวจสอบให้แน่ใจว่าได้ติดตั้งโมดูล php ต่อไปนี้แล้ว php-mbstring php-dom

หากต้องการติดตั้งส่วนขยายนี้ให้เรียกใช้งานในเทอร์มินัล

sudo apt-get install php-mbstring php-dom

เมื่อการติดตั้งเสร็จสมบูรณ์

ลองเรียกใช้คำสั่งในโฟลเดอร์รูทโปรเจ็กต์ของคุณ

composer install 

4
ฉันติดตั้ง php-xml เพื่อให้ใช้งานได้ดีกว่า php-dom (ซึ่งไม่มีอยู่ใน 16.04)
Evan Carroll

1
ยิ่งใหญ่ !!! มันได้ผล !! การติดตั้ง php-xml แทน php-dom เป็นการกระทำเริ่มต้นสำหรับ apt-get ใน Ubuntu 16.04
user2928048

1
มันทำงานได้หลังจากติดตั้ง mbstring และ php-dom ขอบคุณ!
splunk

21

เรียกใช้สิ่งนี้ภายในไดเรกทอรีที่คุณติดตั้งโครงการของคุณ

composer install

1
ฉันทำสิ่งนี้และใช้งานได้ แต่ทำไม ฉันต้องการที่จะเข้าใจเหตุผลโปรด
Simon Suh

1
@SimonSuh ด้วยเหตุผลบางประการ (ความล้มเหลวของเครือข่ายโครงการใหม่ถูกสร้างขึ้นโดยไม่ผ่านคำสั่งทั้งหมดข้อผิดพลาดระหว่างการติดตั้งด้วยตนเองการติดตั้ง build แบบกำหนดเองที่กำหนดเอง ... ) การพึ่งพาผู้แต่งที่ไม่มีการติดตั้งหรือทันสมัย คำสั่งนี้จะติดตั้งและอัปเดตการอ้างอิงทั้งหมดของโครงการของคุณและจะแก้ไขปัญหา หวังว่ามันจะเพียงพอ
Williem

20

คุณต้องสร้างautoload.phpไฟล์ใหม่ คุณสามารถใช้dump-autoloadเพื่อดำเนินการดังกล่าวได้โดยไม่ต้องผ่านการติดตั้งหรืออัปเดต

ใช้

composer dump-autoload

เพื่อสร้างautoload.phpไฟล์อีกครั้งใน/vendorไดเรกทอรี


ใช้งานได้สำหรับฉัน แต่มีข้อผิดพลาดนี้ข้อผิดพลาดร้ายแรง: ไม่พบคลาส 'Illuminate \ Foundation \ Application'
Adnan haider

19

ทำตามขั้นตอนด้านล่างนี้เพื่อแก้ไขปัญหาของฉัน คุณอาจลอง

composer update --no-scripts 
composer update

1
แก้ไขปัญหาของฉันด้วย! ขอบคุณ
Crysfel

1
ขอบคุณมาก!
GeekHades

16

หลังจากตรวจสอบphpเวอร์ชั่นและการวิจัยจำนวนมากปัญหาอยู่Composerด้านข้างดังนั้นให้รันคำสั่งต่อไปนี้

composer install --ignore-platform-reqs


6

เมื่อโครงการใหม่สร้าง laravel จำเป็นต้องโหลดผู้ขายเพื่อโหลดไลบรารีโดยอัตโนมัติเราจะใช้การอัปเดตผู้แต่ง

composer update

นักแต่งเพลงเป็นผู้จัดการการพึ่งพาช่วยให้คุณสามารถมอบหมายความรับผิดชอบในการจัดการการพึ่งพาของคุณไปยังบุคคลที่สาม



5

ไปที่โฟลเดอร์โครงการของคุณผ่าน cmd เรียกใช้คำสั่งต่อไปนี้

composer update

มันจะติดตั้งโฟลเดอร์ผู้ขายและไฟล์ที่หายไปในโครงการของคุณ

แต่ในบางกรณีจะมีข้อผิดพลาดเช่น "การกำหนดค่าของคุณไม่อนุญาตให้เชื่อมต่อกับ ..... " ในหน่วย cmd

เพื่อไปยังไฟล์ผู้แต่งของคุณ

เปลี่ยน"secure-http": trueเป็น"secure-http": false

แต่ในบางกรณี (เช่นเดียวกับในกรณีของฉัน) คุณอาจไม่พบบรรทัดดังกล่าวในไฟล์ของคุณ สำหรับการกระทำดังต่อไปนี้:

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

ถึง

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

และเรียกใช้composer updateคำสั่งอีกครั้ง

หวังว่านี่จะช่วยแก้ปัญหาได้


5

วิธีนี้ใช้ได้ผลสำหรับฉัน สาเหตุที่ไม่มีโฟลเดอร์ผู้ขายในแอปพลิเคชันของคุณ

ทำตามขั้นตอนเหล่านี้:

  1. หากโครงการของคุณมีcomposer.jsonไฟล์ให้ลบออก

  2. จากนั้นเรียกใช้

    composer require phpspec/phpspec

คำสั่งนั้นเพิ่มโฟลเดอร์ผู้จัดจำหน่ายให้กับโครงการของคุณ


4

เพียงแค่ตั้งค่าโครงการใหม่โดยใช้composerแทนที่จะเป็นlaravelเช่นนี้:

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

3

ฉันก็มีข้อผิดพลาดเช่นนั้น แต่ไม่มีสิ่งใดที่แก้ไขได้ ดังนั้นฉันจึงถอนการติดตั้งและติดตั้งผู้แต่งอีกครั้ง composer updateจากนั้นฉันไม่ และปัญหาได้รับการแก้ไข


หลังจากcomposer install
Hos Mercury


2

ก่อนที่คุณจะทำตามคำแนะนำต่อไปนี้คุณต้องตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งผู้แต่งเพลงทั่วโลกไว้ในเครื่องของคุณแล้ว เปิด terminal Mac ของคุณและเรียกใช้คำสั่งต่อไปนี้:

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

เมื่อผู้แต่งติดตั้งทั่วโลกให้รันคำสั่งต่อไปนี้หลังจากที่คุณอยู่ในไดเรกทอรีของโครงการ:

composer install

เมื่อเสร็จแล้วจะทำการอัปเดตและติดตั้งแพ็คเกจที่จำเป็นทั้งหมด


2

เราพบข้อผิดพลาดเนื่องจากเราไม่มีโฟลเดอร์ผู้จัดจำหน่ายในโครงการของเราไดเรกทอรีผู้ขายประกอบด้วยการอ้างอิงของนักแต่งเพลง

ต้องการ/vendorโฟลเดอร์เนื่องจากแพ็คเกจทั้งหมดอยู่ที่นั่นและรวมถึงคลาสทั้งหมดที่ใช้กับ Laravel ปัญหาสามารถแก้ไขได้หลังจากทำตามสองขั้นตอน:

composer update --no-scripts 
composer update
  • - ไม่มีสคริปต์ : ข้ามการดำเนินการของสคริปต์ที่กำหนดไว้ในcomposer.json
  • การอัปเดตผู้แต่ง : การดำเนินการนี้จะตรวจสอบไลบรารีเวอร์ชันใหม่ที่คุณต้องการในโครงการของคุณ หากพบเวอร์ชันที่ใหม่กว่าและเข้ากันได้กับข้อ จำกัด เวอร์ชันที่กำหนดไว้ในcomposer.jsonไฟล์เวอร์ชันนั้นจะแทนที่เวอร์ชันก่อนหน้าที่ติดตั้ง composer.lockไฟล์จะมีการปรับปรุงเพื่อให้สอดคล้องกับการเปลี่ยนแปลงเหล่านี้

คำสั่งทั้งสองนี้เราจะสร้างโฟลเดอร์ผู้จำหน่ายในโครงการของเราและหลังจากนั้นโครงการของเราจะทำงานได้อย่างราบรื่น


1

ฉันเพิ่มcomposer.lockไฟล์ลงใน. gitignore หลังจากคอมมิทไฟล์ที่เก็บผิดพลาดหายไป :)


1

สิ่งที่ฉันรู้คือไฟล์ composer.json ของคุณจะมีสคริปต์บางอย่างเช่น

"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"
    ]
},

อะไรที่เหมาะกับฉัน:

"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"
    ]
},

การเอาpost install cmdช่วยติดตั้งนักแต่งเพลงทำงานโดยไม่มีปัญหาใด ๆ

หวังว่านี่จะช่วยได้

ไชโย !!


1

ลบโฟลเดอร์ผู้จัดจำหน่ายและเรียกใช้คำสั่งติดตั้งผู้แต่ง มันใช้งานได้ 100%


1

คุณไม่มีโฟลเดอร์ผู้ขายอาจเป็นที่เก็บโคลนใหม่หรือโครงการใหม่

โฟลเดอร์ผู้จำหน่ายบรรจุด้วย binary ผู้แต่งซึ่งอ่านไฟล์ composer.json หรือข้อกำหนดของระบบและติดตั้งแพคเกจภายใต้โฟลเดอร์ผู้จำหน่ายและสร้างสคริปต์ autoload ที่มีการจัดประเภททั้งหมด

composer update


0

ในกรณีของฉันฉันต้องเปิดใช้งานส่วนขยายอื่นนั่นคือphp_mbstring.dllในphp.iniไฟล์ก่อนที่มันจะทำงานได้ extension=php_mbstring.dllมันอยู่ภายใต้ ค้นหาในphp.iniไฟล์และลบเซมิโคลอน ( ;) ด้านหน้าและบันทึกไฟล์

หลังจากทำงานนี้install composerอีกครั้งในไดเรกทอรีรูทของการรวบรวม Laravel ของคุณและควรใช้งานได้


0

หากคุณเป็นผู้ใช้ Windows คุณอาจถอนการติดตั้งนักแต่งเพลง จากนั้นติดตั้ง Composer หลังจากนั้นคุณติดตั้ง Laravel อาจจะใช้งานได้


0

ปัญหาของฉันได้รับการแก้ไขโดย

composer update
composer install
php artisan key:generate

หากคุณมีปัญหาอื่น ๆ คุณสามารถล้างแคชและกำหนดค่า Clear Route cache:

php artisan route:cache

ล้างแคชมุมมอง:

php artisan view:clear

ล้างแคชการกำหนดค่า:

php artisan config:cache

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.