Как установить Artisan Laravel?

87

Я хочу создавать миграции в Laravel, но, согласно руководствам, мне нужен Artisan CLI. Команда phpработает нормально, и я в Windows. Я набираю php artisanили php artisan listи получаю следующую ошибку:

Не удалось открыть входной файл: ремесленник

Мне не удалось найти руководства ни в документации, ни в Google. Как я могу установить Artisan?

Тотимедли
источник
6
Мне потребовалось время, чтобы понять, что инструменты Laravel CLI должны запускаться из корневой папки проекта (та, что чуть выше app. Я до сих пор забываю, где я нахожусь время от времени в середине проекта. Печатание действительно pwdпомогает.
Майк

Ответы:

132

Используйте корневую папку проекта

Artisan по умолчанию поставляется с Laravel, и если ваша phpкоманда работает нормально, единственное, что вам нужно сделать, это перейти в корневую папку проекта . Корневая папка - это родительская папка appпапки . Например:

cd c:\Program Files\xampp\htdocs\your-project-name

Теперь php artisan listкоманда должна работать нормально, потому что PHP запускает файл, вызываемый artisanв папке проекта.

Установите фреймворк

Имейте в виду, что Artisan запускает скрипты, хранящиеся в vendorпапке, поэтому, если вы установили Laravel без Composer, например, загрузку и извлечение репозитория Laravel GitHub , у вас нет самого фреймворка, и вы можете получить следующую ошибку при попытке использовать Ремесленник:

Не удалось открыть входной файл: ремесленник

Чтобы решить эту проблему, вам необходимо установить сам фреймворк, запустив его composer installв корневой папке проекта.

Тотимедли
источник
Примечание: на реальном производственном сервере (например, Linux / Apache) сайт Laravel запускается не из общедоступной веб-папки (htdocs), а из папки пользователя.
Майк
2
После запуска composer installя все еще получаю сообщение об ошибке, когда он пытается запустить php artisan optimizeс ошибкой, похожей на{"error":{"type":"ErrorException","message":"file_put_contents(\/meta\/services.json): failed to open stream: No such file or directory"
Марсель
Это отличное начало для людей, у которых все еще есть проблемы с ремесленником. Этот пост тоже может помочь.
11

Вам просто нужно прочитать страницу установки laravel:

  1. Установите Composer, если он еще не установлен
  2. Откройте командную строку и выполните:
composer global require "laravel/installer"

Внутри каталога htdocs или www используйте либо:

laravel new appName

(это может привести к ошибке на компьютерах с Windows при использовании последней версии Laravel (1.3.2)) или:

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

(это работает также в Windows), чтобы создать проект под названием «appName».

Чтобы использовать "php artisan xyz", вы должны находиться в корне вашего проекта! as artisan - это файл, который будет использовать php ... Все просто;)

oliiix
источник
1
Этот ответ касается установки Laravel, а не Artisan.
totymedli
5

Пока вы работаете с Laravel, вы должны находиться в корне структуры каталогов laravel. В корневом каталоге есть папки App, route, public и т. Д. Просто следуйте шагу ниже, чтобы исправить проблему. проверить статус композитора, используя:composer -v

Сначала загрузите установщик Laravel с помощью Composer:

composer global require "laravel/installer"

Пожалуйста, проверьте с помощью следующей команды:

php artisan serve

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

Джаймин
источник
1
Только ваше последнее предложение пытается ответить на вопрос, и даже оно крайне двусмысленно и скудно, не говоря уже о том, что оно уже было опубликовано в другом ответе более подробно. Пожалуйста, прочтите справку о том, как ответить .
totymedli
@totymedli. Пожалуйста, повысьте оценку предоставленного ответа. Дайте мне знать еще какие-нибудь ошибки.
Jaymin 03
Вы только что добавили больше ремесленных команд. Это все еще не решает проблему. Сам мастерский интерфейс командной строки не работает, что мне тогда делать с командой? Также на этот вопрос я отвечал уже 3 года . Узнайте, какое было решение. Если вы не ответите лучше, вы опоздали из этой игры ...
тотимедли
1

Объяснение : Когда вы устанавливаете новый проект laravel в свою папку (например, myfolder) с помощью композитора, он устанавливает полный проект laravel внутри вашей папки (myfolder / laravel), чем artisan находится внутри laravel. Вот почему вы видите ошибку,

Не удалось открыть входной файл: ремесленник

Решение : вам нужно войти в это место с помощью командной строки или переместить файлы laravel в свою папку.

Ариан Дубей
источник
Этот ответ не содержит дополнительной информации к тому, что уже было сказано в других ответах. Это решение уже было объяснено более подробно, чем это расплывчатое руководство.
totymedli
-7

в laravel artisan - это файл в корневой / защищенной странице

например,

c: \ xampp \ htdocs \ my_project \ protected \ artisan

вы можете просмотреть содержимое файла "artisan" в любом текстовом редакторе, это синтаксис команды php

поэтому, когда мы печатаем

php artisan

мы говорим php запускать скрипт php в файле "artisan"

например:

изменение php artisan

покажет изменение текущей версии laravel

чтобы увидеть другой вариант, просто введите

php artisan

user3998741
источник
3
Это не имеет отношения к вопросу. Не отвечает, почему команда artisan не работает, а просто перечисляет несколько команд artisan, которые вы даже не можете попробовать, потому что, ну ... команда не работает.
totymedli 02