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


264

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

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

Скрипт php artisan clear-compiled обрабатывает событие post-install-cmd, возвращенное с ошибкой

Я использую последнюю версию XAMPP v3.2.1 с PHP 5.5.15 и с включенным mcrypt (убедитесь в этом, введя команду php -m). И у меня работает Windows 8.1


1
Похоже, этот вопрос старый. Вы выяснили проблему? Если вы не возражаете, поделитесь вопросом с остальной частью команды :)
Заратузтра

10
Я думаю, что php artisan должен вызываться из корневой папки сайта laravel. или эта ошибка появится.
Юджин Джозеф

Вам нужно выполнить команду ремесленника на том же уровне, что и каталог ремесленника. Это гарантирует, что вы участвуете в проекте Laravel
Sweet Chilly Philly,

1
Sidenote: Изначально я думал, что когда вызывается php artisan ..., это был какой-то вариант phpкоманды. Оказывается, это относится к файлу с именем, artisanкоторый находится в корне вашего проекта laravel. Он действительно должен вызываться, artisan.phpтак как это настоящий скрипт php, но расширение для краткости опущено.
Пламя

Ответы:


395

Сначала вам нужно создать проект Laravel, и, если у вас уже есть, вам нужно перейти к этому каталогу проекта, например, с помощью cdкоманды в терминале cd myproject.

Теперь вы сможете запускать любые команды ремесленников, например, при запуске php artisanотобразится список доступных команд.


2
Эта ошибка появляется, когда я пытаюсь создать новый проект laravel: cd xampp / htdocs, затем composer create-project laravel / laravel newLaravelProject Он начинает загружать все необходимые зависимости, и внезапно появляется эта ошибка.
wessodesigner

1
Если вы переместили папку своего приложения с помощью .env, папки vendor, папки config ... и т. Д. В другое место, возможно, вам придется изменить корневой каталог на это место.
Эранда

Это должен быть выбранный ответ. Работал отлично!
Чад


21

Если ваш проект на /home/forge/laravel-project/

Вы можете правильно выполнить свой ремесленник, как это

php /home/forge/laravel-project/artisan ...


В Windows это можно сделатьphp 'E:\path\to_your_domain\artisan' october:up
Дмитрий


9

Мне просто нужно было сделать artisanисполняемый файл.

chmod +x artisan

... и тогда он работает без префикса php.


9

Во-первых, убедитесь, что вы находитесь в папке проекта laravel, иначе терминал не сможет найти artisanфайл в каталоге проекта, и любой последующий запрос, запущенный вами для запуска сервера, будет отклонен.

демонстрация

Допустим, наше имя проекта Laravel blogи находится в C:\laravel Мы тогда имеем:C:\laravel\blog

Где открыть терминал

Перейдите в C:\laravel\blogкаталог и откройте командное окно (терминал). Введите код ниже:

Код терминала Laravel для запуска сервера

php artisan serve --host 127.0.0.1


6

Вы должны быть в вашей папке проекта Laravel

При создании нового проекта laravel new project-nameбудет создана папка с именем вашего проекта в качестве имени. Вы должны войти в эту папку, прежде чем использовать какую-либо php artisanкоманду, например, php artisan serveпотому что файл ремесленника находится в этой папке


5

У меня также была проблема, которую я только что установил, но забыл перейти в созданную папку проекта. Так что вам нужно перейти в папку вашего проекта.

cd имя_проекта

а затем служить php ремесленника команды


4

Просто убедитесь, что вы находитесь в папке проекта, набрав

ls

Если нет, то перейдите в папку проекта, набрав

 cd folder_name

например:

cd laravel

А потом наберите

php artisan serve


3

Если это ваша первая установка laravel, то создайте еще один каталог / папку внутри каталога laravel, а затем перейдите в эту пустую папку и создайте другой проект, используя команду ниже:

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

Это создаст новый проект с именем «блог», затем вернитесь в родительский каталог laravel и теперь вы можете запустить эту команду:

php artisan serve

Вы получите возврат, такой как:

laravel deployment server started: http://localhost:8000

Смотрите прикрепленное изображение введите описание изображения здесь


2

Попробуйте выполнить это как sudo.

sudo laravel new blog

Ваш файл может не иметь соответствующих разрешений. Дайте нам знать, если это сработало!


4
Вы не можете sudo на окнах
Zarathuztra

Ах да, мой плохой. У меня была проблема с Хомстедом, и это было просто разрешение. Но ты прав.
Эдуардо Каспер

1
Спасибо, sudo работал на меня после того, как у меня возникла эта проблема. Я был ssh-ed на свой сервер Linux.
Скотт

2

Я проверил существующий проект Laravel, у которого не было этого скрипта. Даже find / -name 'artisan'не дал никаких результатов. Решение оказалось простым, если немного странным:

curl -L 'https://raw.githubusercontent.com/laravel/laravel/v4.2.11/artisan' > artisan

Вы, вероятно, хотите выбрать версию с тегом, которая соответствует установленной версии Laravel.


2

Если вы запускаете свой проект Laravel в Vagrant и только что подключили SSH к виртуальной машине, не забудьте cd /vagrantперед запуском команд artisan!


2

После борьбы с этой проблемой я выяснил, что вам нужно найти место, где находится ремесленник sudo find / -name artisan, и запустить командуphp artisan ....


1

Сначала перейдите в папку Laravel, затем введите команды ремесленника, например, если имя вашего приложения Laravel "Demopro"

так откройте cmd и с помощью команды cd зайдите в Демопро, а затем используйте команду ремесленника


1

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


1

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

 cd projectName

1

После установки composer вам необходимо создать проект:

composer create-project laravel/laravel /path/to/tour/project

Вы можете увидеть документацию , для вашей php-версии последняя версия Laravel, которую вы можете установить, это 5.0.

Сейчас дни здесь самая последняя версия и требует> php7.0. Вот документация .


1

Что cd srcменя устроило, так это то, что я сделал это из директории моего проекта, а затем использовал php artisanкоманду, так как мой artisanфайл был в srcпапке. Вот моя структура проекта:

project
|__ config
|__ src
    |__ app
    |__ ..
    |__ artisan  // hello there!
    |__ ...
|__ ...

1

Эта ошибка возникает из-за того, что вы не установили composer в свой проект.

Запустите composer installкоманду в пути вашего проекта.


0

-> CD ..

-> cd project_dir

-> php artisan ('отлично работает')

в моем случае я удалил каталог и снова клонировал репозиторий из того же каталога через терминал. затем я сделал один шаг назад и снова вошел в папку моего проекта, и проблема исчезла.


0

Просто попробуйте выполнить команду в каталоге, где находится весь код laravel. Со мной тоже случилось, я пытался запустить команду в корневой папке проекта, но код был в подкаталоге


0

Сначала создайте проект по следующей ссылке для создания проекта larave 7: Create Project

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

cd myproject

Теперь попробуйте запустить artisanкоманду, например, php artisan.

Или это может произойти, если вы не установили compose. Поэтому, если вы не установили composer, запустите composer installи попробуйте снова artisanкоманду.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.