Laravel 5 Не удалось открыть загрузочный файл /../ vendor / autoload.php

319

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

самозагрузки/../поставщика/autoload.php. Не удалось открыть поток: нет такого файла или каталога. Папка "vendor" не существует.

Я что-то пропустил?

Теги:
laravel-5

26 ответов

65
Лучший ответ

Оказывается, я не включил openssl в моем php.ini, поэтому, когда я создал свой новый проект с композитором, он был установлен из источника. Я изменил это и запустил

composer update

теперь была создана папка поставщика.

240

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

composer update --no-scripts  

Это должно решить проблему. Я попробовал это на Mac и Linux.

  • 13
    Иногда, когда вы запускаете: «composer install», вы также получаете эту ошибку, поэтому лучше всего сначала запустить: «composer install --no-scripts», а затем запустить composer install в обычном режиме.
  • 3
    Документация Composer: --no-scripts: пропускает выполнение сценариев, определенных в composer.json. ( getcomposer.org/doc/03-cli.md#update )
Показать ещё 4 комментария
120

Какую ОС вы используете? Для Windows: перейдите в Command Prompt

установить путь к www/{ur project}

Для меня: www/laravel5

Затем введите эту команду: composer install

Это автоматически установит все зависимости в vendor/

77

Запустите composer install в корневой папке проекта (или php composer.phar install).

45

Создал ли новый проект или клонировал существующий проект?

Если вы клонировали существующий проект, очень важно запустить

composer install

Таким образом будут установлены все отсутствующие зависимости.

Но если вы создаете новый проект, вы должны запустить эту команду, чтобы создать новый проект, используя композитор

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

Просто запустите это в каталоге, в котором вы установили проект

composer install
  • 1
    Я сделал это, и это сработало, но почему? Я хотел бы понять причину, пожалуйста.
  • 1
    @SimonSuh по какой-то причине (сбой сети, новый проект был создан без прохождения всех команд, ошибка во время ручной установки, установка пользовательской сборки ...) зависимости компоновщика, где они не установлены или не обновлены. эта команда установит и обновит все зависимости вашего проекта, и это решит проблему. надеюсь, что это достаточно
17

Вам необходимо восстановить файл autoload.php. Вы можете использовать dump-autoload для этого без необходимости установки или обновления.

использование

composer dump-autoload

снова создать файл autoload.php каталоге /vendor.

  • 0
    Это работает для меня, но с этой ошибкой. Неустранимая ошибка: класс «Осветить \ Основание \ Приложение» не найден.
  • 0
    Привет Аднан, попробуй запустить обновление композитора
17

Я столкнулся с той же проблемой. Это произошло потому, что композитор не смог установить зависимости, указанные в файле composer.json. попробуйте запустить

composer install 

Если это не решит проблему, убедитесь, что установлены следующие php-модули PHP-MBstring PHP-дом

Чтобы установить эти расширения, запустите в терминале

следующее:
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
Показать ещё 1 комментарий
16

После этого ниже шаг решил мою проблему. Вы можете попробовать

composer update --no-scripts 
composer update
  • 1
    Решил и мою проблему тоже! Спасибо
  • 1
    Большое вам спасибо!
Показать ещё 2 комментария
12

После проверки версии php и большого количества исследований проблема была на стороне Composer поэтому просто выполните следующую команду

composer install --ignore-platform-reqs

6

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

composer update

Composer - это менеджер зависимостей, который позволяет вам делегировать ответственность за управление вашими зависимостями третьему лицу.

5

Просто запустите следующие команды,

composer update

или

composer install
4

Просто настройте новый проект, используя composer вместо laravel следующим образом:

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

У меня также была эта ошибка. Но ни одно из вышеизложенных вопросов не решило. Поэтому я удалил и снова установил композитора. Тогда я сделал composer update. и проблема была исправлена.

  • 0
    после composer install
  • 0
    Наконец, это решение работает
2

У меня была такая же проблема с ларавелем и ремесленником, решение:

php artisan key:generate
2

Прежде чем выполнять следующие инструкции, вам необходимо убедиться, что у вас есть композитор, установленный глобально на вашем компьютере; Откройте терминал Mac и выполните следующую команду:

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

После того, как композитор установлен во всем мире, выполните следующую команду после того, как вы находитесь в каталоге проекта:

composer install

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

2

перейдите в папку проекта через cmd. выполните следующую команду

composer update

он установит в вашем проекте недостающую папку и файлы поставщика.

но в некоторых случаях он дает ошибку, например: "Ваша конфигурация не позволяет подключиться к bla bla bla.." в cmd.

для этого перейдите в ваш файл composer.json,

измените "secure-http": true на "secure-http": false

но в некоторых случаях (как в моем случае) вы не можете найти такую ​​строку в своем файле. для этого выполните следующее действие:

изменить "config": { "preferred-install": "dist" }

to

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

и снова запустите команду composer update.

надеюсь, что это решит проблему многих людей.:)

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 помогло запустить установку composer без каких-либо проблем.

Надеюсь это поможет

Ура !!

1

Это решение помогло мне. Причина не в том, что в вашем приложении есть папка vendor. Выполните следующие шаги.

1) если ваш проект имеет файл composer.json.. удалите его

2) потом беги

композитор требует phpspec/phpspec

эта команда добавить папку поставщика в ваш проект

1

Я добавил файл composer.lock в .gitignore, после того, как он завершил этот файл с ошибкой репозитория:)

0

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

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

composer update --no-scripts 
composer update
  • --no-scripts: пропускает выполнение скриптов, определенных в composer.json
  • Обновление композитора: это проверит наличие более новых версий библиотек, необходимых для вашего проекта. Если найдена более новая версия и она совместима с ограничением версии, определенным в файле composer.json, она заменит предыдущую установленную версию. Файл composer.lock будет обновлен с учетом этих изменений.

Этими двумя командами мы воссоздадим папку vendor в нашем проекте и после этого наш проект будет работать без сбоев.

0

моя проблема решена

composer update
composer install
php artisan key:generate

если у вас возникли другие проблемы, вы можете очистить кеш и настроить очистить кеш:

php artisan route:cache

Очистить кеш просмотра:

php artisan view:clear

Очистить кэш конфигурации:

php artisan config:cache
0

это может быть проблема с установкой запустить следующую команду. У меня сработало

cd installationFolder
php artisan package:discover
php artisan key:generate
0

Если вы пользователь Windows, вы можете удалить Composer. Затем установите Composer. После этого вы устанавливаете Laravel. Может быть, это будет работать.

0

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

После этого запустите install composer снова в корневом каталоге вашего приложения Laravel и он должен работать.

0

Я получил это, когда обновил композитор вместо установки композитора.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню