Laravel 5 Не вдалося відкрити необхідний завантажувальний засіб /../ vendor / autoload.php


366

Я нещодавно встановив Laravel 5 через композитора. Я спробував створити новий контролер за допомогою artisan, і я отримав таку помилку:

bootstrap /../ vendor / autoload.php. Не вдалося відкрити потік: Немає такого файлу чи каталогу. Папка "постачальник" не існує.

Я щось пропускаю?

Відповіді:


307

Запустіть композитора з --no-скриптами

composer update --no-scripts  

Це має виправити це питання. Я спробував це на Mac та Linux.


14
Іноді при запуску: "встановлення композитора" ви також отримали цю помилку, тому найкращим варіантом є спочатку запустити: "встановити композитор - не-скрипти", а потім виконати звичайну установку композитора.
герой,

3
Документація для композитора: --no-script: Пропускає виконання сценаріїв, визначених у composer.json. ( Getcomposer.org/doc/03-cli.md#update )
Айні

Набагато краще використовувати встановлення композитора, оскільки він запустить усе необхідне для встановлення всіх залежностей, включаючи сценарії.
Леандро Жак

помилка Композитор не зміг знайти файл composer.json у C: \ composer Щоб ініціалізувати проект, будь ласка, створіть файл 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).
Еван Керролл

1
Чудово !!! Це спрацювало!! Установка php-xml замість php-dom є типовою дією для apt-get в ubuntu 16.04
user2928048

1
він працював після встановлення mbstring та php-dom. Дякую!
сплеснув

21

Просто запустіть це всередині каталогу, де ви встановили свій проект

composer install

1
Я це робив, і це спрацювало, але чому? Я хотів би зрозуміти причину, будь ласка.
Саймон Сух

1
@SimonSuh чомусь (відмова мережі, новий проект був створений без проходження всіх команд, помилка під час встановлення вручну, встановлення спеціальної збірки ...) залежність композитора, де не встановлено або не оновлено. ця команда встановить та оновить усі залежності вашого проекту, і це виправить проблему. сподіваюсь, що це буде
достатньо

20

Вам потрібно відновити autoload.phpфайл. ви можете використовувати dump-autoloadце для того, щоб не проходити встановлення чи оновлення.

використання

composer dump-autoload

генерувати autoload.php файл у /vendorкаталозі.


Це працює для мене, але з цією помилкою Фатальна помилка: Клас "Освітлити \ Фундація \ Застосування" не знайдено.
Аднан Хайдер

19

Дотримуючись цього нижче кроку, вирішив мою проблему. Ви можете спробувати

composer update --no-scripts 
composer update

1
Вирішив і мою проблему! Спасибі
Крісфель

1
Дуже тобі вдячний!
GeekHades

16

Після перевірки phpверсії та безлічі досліджень проблема виявилася на Composerстороні, тому просто запустіть наступну команду

composer install --ignore-platform-reqs


6

Коли новий проект створив laravel, потрібно завантажити постачальників для автоматичного завантаження бібліотек, ми використовуємо оновлення композитора, щоб

composer update

Композитор - менеджер залежностей, дозволяє делегувати відповідальність за управління своїми залежностями третій стороні.


5

Просто запустіть такі команди,

composer update

Або

composer install

5

перейдіть до папки проекту через cmd. запустіть наступну команду

composer update

він встановить папку та файли постачальника, які відсутні, у ваш проект.

але в деяких випадках він видає помилку типу "Ваша конфігурація не дозволяє з'єднання з ....." в cmd.

для цього перейдіть у файл composer.json ,

змінити "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
Хос Меркурій


2

Перш ніж виконати наступні вказівки, вам потрібно переконатися, що композитор у вашому світі встановлений глобально; Відкрийте термінал Mac та запустіть таку команду:

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

як тільки композитор встановлений глобально, запустіть таку команду після того, як ви перебуваєте в каталозі проекту:

composer install

Після завершення в ньому оновлення та встановлення всіх необхідних пакетів.


2

Ми отримали помилку, оскільки у нас відсутній постачальник папки в нашому проекті, Каталог постачальників містить наш залежності Composer.

Потрібна /vendorпапка, оскільки всі пакети є, включаючи всі класи, які використовує Laravel. Проблему можна вирішити, виконавши лише два кроки:

composer update --no-scripts 
composer update
  • --no-script : Пропускає виконання сценаріїв, визначених у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

У вас відсутня папка постачальника, ймовірно, її новий клонований сховище або новий проект

папка постачальника заповнена бінарним композитором, який читає файл composer.json або системні вимоги та встановлює упаковані під папку постачальника та створює сценарій автоматичного завантаження, який має всі класифіковані

composer update


0

У моєму випадку мені довелося включити інше розширення, а саме php_mbstring.dllу php.iniфайл, перш ніж воно могло працювати. Він вказаний під extension=php_mbstring.dll. Знайдіть його у php.iniфайлі та вийміть крапку з комою ( ;) перед ним та збережіть файл.

Після цього запустіть install composerзнову в кореневому каталозі програми Laravel і це має працювати.


0

Якщо ви користувач Windows, ви можете видалити Composer. Потім встановіть Composer. Після цього ви встановлюєте Laravel. Можливо, це спрацює.


0

мою проблему вирішує компанія

composer update
composer install
php artisan key:generate

якщо у вас є будь-які інші проблеми, ви можете очистити кеш і налаштувати Очистити кеш маршруту:

php artisan route:cache

Очистити кеш-пам'ять:

php artisan view:clear

Очистити кеш конфігурації:

php artisan config:cache

0

Я отримав це, коли зробив composer updateзамість цього composer install.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.