Не удалось открыть входной файл: 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

wessodesigner
источник
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 ... и т. Д. В другое место, возможно, вам придется изменить корневой каталог на это место.
Эранда
Это должен быть выбранный ответ. Работал отлично!
Чад
149

Вы не можете использовать, php artisanесли вы не в laravelпапке проекта.

Вот почему это говорит 'Could not open input file - artisan'.

Евгений Афанасьев
источник
Конечно, вы должны сделать composer installпочти один раз
Леонардо Сарачини
21

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

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

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

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

Скорее всего, вы не в нужном каталоге!

zaffar
источник
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

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

A.Aleem11
источник
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.

DavidM
источник
2

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

TeeJay
источник
2

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

Разоренный
источник
1

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

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

Пардип
источник
1

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

Adjeiinfo
источник
1

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

 cd projectName
Рави Грива
источник
1

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

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

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

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

Talan
источник
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 ('отлично работает')

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

sh6210
источник
0

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

Аджай Арора
источник
0

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

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

cd myproject

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

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

М-р Риадул Ислам
источник