Невозможно выполнить команды мастеров Laravel
Я только что установил последнюю версию Laravel и попытался запустить следующую команду из моего Git Bash:
php artisan migrate:make create_users_table --table=users --create
Это вызывает следующую ошибку:
Could not open input file: artisan
Я пробовал несколько вещей, которые я нашел здесь на этом сайте, но ничего не работает. Любые предложения о том, как заставить его работать?
Ответы
Ответ 1
TL;DR
Запустите composer install
в корневой папке проекта.
Описание
Это происходит, когда вы создаете проект, загружая и извлекая laravel/laravel repo из GitHub, а не используя команду Composer:
composer create-project laravel/laravel your-project-name
В этом случае зависимости не установлены, поэтому папка vendor
, содержащая Artisan, не существует. Запуск composer install
в корневой папке проекта будет устанавливать папки зависимостей vendor
.
Подробнее см. мой другой ответ на вопрос о том, как установить Artisan.
Боковое примечание
Это не зависит от вашей проблемы, но ваша команда Artisan немного недостаточна. Вы забыли =users
(имя таблицы) с конца. Кроме того, если вы создаете таблицу, вам не нужно снова указывать имя таблицы с помощью опции --table
, поэтому этой команды будет достаточно:
php artisan migrate:make create_users_table --create=users
Ответ 2
У вас нет ремесленника. Есть две причины:
-
Чтобы иметь возможность запускать php artisan <command>
, вы должны находиться в папке проекта, поэтому сначала перейдите в эту папку с помощью команды cd
, затем вы можете выполнить команду.
-
Вы не создали проект Laravel в этой папке. Вы должны создать его с помощью Composer.
Ответ 3
В вашем корневом каталоге есть файл artisan.php, который запускается внутри Illuminate\Console\Application:: start ($ app);
Итак, следуйте этому пути и посмотрите, что происходит. У вас есть какие-либо результаты при запуске php artisan? Эта ошибка обычно отображается, когда у мастера нет вашего пути (текущий каталог).
Ответ 4
Laravel нуждается в версии PHP 5.5.9. Если у вас есть более низкая версия, вы можете ничего не выполнить, и она не может вызывать ошибки на основе ваших настроек.