无法打开输入文件:工匠
Posted
技术标签:
【中文标题】无法打开输入文件:工匠【英文标题】:Could not open input file: artisan 【发布时间】:2014-11-29 08:38:29 【问题描述】:尝试新建laravel项目时,CLI出现如下错误:
无法打开输入文件:artisan
脚本 php artisan clear-compiled 处理 post-install-cmd 事件返回错误
我正在使用最新版本的 XAMPP v3.2.1 和 PHP 5.5.15 并启用了 mcrypt(通过发出命令 php -m 确保这一点)。我正在运行 Windows 8.1
【问题讨论】:
看起来这个问题已经过时了。你弄清楚问题了吗?如果您不介意,请与小队的其他成员分享这个问题:) 我认为,php artisan 是从 laravel 站点的根文件夹中调用的。否则会弹出这个错误。 您需要在与您的 artisan 目录相同的级别运行您的 artisan 命令。这将确保你在你的 Laravel 项目中 旁注:最初我认为当php artisan ...
被调用时,它是php
命令的某种选项。原来它指的是一个名为 artisan
的文件,它位于您的 laravel 项目的根目录中。它真的应该被称为artisan.php
,因为它是一个实际的 php 脚本,但为了简洁起见,省略了扩展名。
尝试在所有 laravel 代码所在的目录中执行命令。我也发生了,我试图在项目的根文件夹中运行命令,但代码在子目录中
【参考方案1】:
您首先需要create Laravel project,如果您已经有一个,则需要在终端中使用cd
命令转到此项目目录,例如cd myproject
。
现在您将能够运行任何工匠命令,例如运行 php artisan
将显示可用命令列表。
【讨论】:
在我尝试新建laravel项目时出现这个错误: cd xampp/htdocs 然后 composer create-project laravel/laravel newLaravelProject 开始下载所有需要的依赖,突然出现这个错误。 如果您已将带有 .env 的应用程序文件夹、供应商文件夹、配置文件夹...等移动到其他位置,您可能需要将目录根目录更改为该位置。 这应该是选择的答案。完美运行! 同意。正确答案在这里。我不知道它只能从项目根文件夹中工作。 如果有人能帮忙解决这个问题,我将面临这样的问题***.com/questions/64983129/…【参考方案2】:我只需要使artisan
可执行。
chmod +x artisan
...然后它可以在没有 php 前缀的情况下工作。
【讨论】:
【参考方案3】:我检查了一个没有此脚本的现有 Laravel 项目。即使是find / -name 'artisan'
也没有产生任何结果。解决方案很简单,虽然有点奇怪:
curl -L 'https://raw.githubusercontent.com/laravel/laravel/v4.2.11/artisan' > artisan
你可能想选择一个与你安装的 Laravel 版本相匹配的标记版本。
【讨论】:
【参考方案4】:如果您不在laravel
项目文件夹中,则不能使用php artisan
。
这就是为什么它说'Could not open input file - artisan'
。
【讨论】:
当然你必须做一个composer install
几乎一次
我尝试从迁移文件夹进行迁移,我收到了这条消息,您必须位于应用程序的根目录(composer.json 所在的位置)才能使其正常工作【参考方案5】:
如果您的项目位于/home/forge/laravel-project/
你可以像这样正确地执行你的工匠
php /home/forge/laravel-project/artisan ...
【讨论】:
在 Windows 中你可以做php 'E:\path\to_your_domain\artisan' october:up
【参考方案6】:
如果你在 Vagrant 中运行你的 Laravel 项目并且刚刚通过 SSH 连接到虚拟机,在你尝试运行 artisan 命令之前不要忘记cd /vagrant
!
【讨论】:
【参考方案7】:如果这是您第一次安装 laravel,则在 laravel 目录中创建另一个目录/文件夹,然后移动到该空文件夹并使用以下命令创建另一个项目:
composer create-project --prefer-dist laravel/laravel blog
这将创建一个名为“blog”的新项目,然后回到父 laravel 目录,现在您可以运行以下命令:
php artisan serve
您将收到退货,例如:
laravel deployment server started: http://localhost:8000
见附图
【讨论】:
【参考方案8】:首先,请确保在 laravel 项目文件夹中,否则终端将无法在项目目录中找到 artisan
文件,并且您拉取启动服务器的任何后续请求都将被拒绝。
演示
假设我们的 laravel 项目名称是 blog
并且位于 C:\laravel
然后我们有:C:\laravel\blog
在哪里打开终端
导航到<strong>C:\laravel\blog</strong>
目录并打开命令窗口(终端)。输入以下代码:
启动服务器的 Laravel 终端代码
php artisan serve --host 127.0.0.1
【讨论】:
【参考方案9】:在解决了这个问题之后,我发现你需要通过运行sudo find / -name artisan
来找到工匠所在的位置,
然后从那里运行命令php artisan ....
【讨论】:
【参考方案10】:安装composer后,需要创建项目:
composer create-project laravel/laravel /path/to/tour/project
您可以看到documentation,对于您的 php 版本,您可以安装的最新 Laravel 是 5.0。
现在这里是最新版本,需要> php7.0。这是documentation。
【讨论】:
【参考方案11】:我的诀窍是从我的项目目录中执行cd src
,然后然后使用php artisan
命令,因为我的artisan
文件位于src
文件夹中。这是我的项目结构:
project
|__ config
|__ src
|__ app
|__ ..
|__ artisan // hello there!
|__ ...
|__ ...
【讨论】:
【参考方案12】:很可能您不在正确的目录中!
【讨论】:
【参考方案13】:发生此错误是因为您没有在项目中安装 composer。
在您的项目路径中运行composer install
命令。
【讨论】:
【参考方案14】:首先从以下链接创建项目创建larave 7项目:Create Project
现在您需要使用以下命令进入您的项目文件夹:
cd myproject
现在尝试运行artisan
命令,例如php artisan
。
如果您没有安装 compose,也可能会发生这种情况。所以如果你没有安装 composer 然后运行composer install
并再次尝试artisan
命令。
【讨论】:
【参考方案15】:如果你说my-project/app/somefolder
在终端cd ..
中运行两次以进入my-project/
文件夹
【讨论】:
【参考方案16】:你需要首先创建 Laravel 项目,如果你已经有一个项目,你需要在终端中使用 cd 命令进入这个项目目录,例如 cd myproject。
示例:C:\xampp new\htdocs\project laravel\LaravelProject>php artisan serve
现在您将能够运行任何 artisan 命令,例如运行 php artisan 将显示可用命令列表。
【讨论】:
【参考方案17】:需要注意的另一件事是,如果您有一个来自非公共位置的符号链接,该链接托管您的项目代码为 public_html - 在符号链接位置 (public_html) 中运行 php artisan
将导致此错误。
您似乎需要在实际项目目录中才能使php artisan
工作。
【讨论】:
【参考方案18】:我也有同样的问题。我也在laravel项目目录下。对我有用的只是更改工匠文件的权限。
Linux
chmod 777 artisan
对于窗户
使用文件属性【讨论】:
【参考方案19】:确保您的当前目录是您的项目名称
例如,您的项目名称是 demo,位置是 f:/demof:demo> php artisan serve
【讨论】:
以上是关于无法打开输入文件:工匠的主要内容,如果未能解决你的问题,请参考以下文章