我最近通过composer安装了Laravel 5。我尝试使用artisan创建一个新的控制器,我得到以下错误:

引导/ . . /供应商/ autoload.php。无法打开流:没有这样的文件或目录。“vendor”文件夹不存在。

我遗漏了什么吗?


当前回答

我们得到一个错误,因为我们在我们的项目中缺少供应商文件夹,供应商目录包含我们的Composer依赖项。

需要/供应商文件夹,因为所有的包都在那里,包括Laravel使用的所有类,问题可以在以下两个步骤后解决:

composer update --no-scripts 
composer update

——no-scripts:跳过在composer.json中定义的脚本执行 composer update:这将检查项目中需要的库的新版本。如果找到了一个较新的版本,并且它与编写器中定义的版本约束兼容。Json文件,它将取代以前安装的版本。作曲家。锁文件将被更新以反映这些变化。

这两个命令,我们将在我们的项目中重新创建供应商文件夹,之后我们的项目将顺利工作。

其他回答

您是创建了一个新项目还是克隆了一个现有项目?

如果你克隆了一个现有的项目,运行它是非常重要的

composer install

这样,所有缺失的依赖项都将被安装。

但是如果你创建了一个新项目,你应该运行这个命令来使用composer创建一个新项目

composer create-project laravel/laravel name-of-your-project

运行composer -no-scripts

composer update --no-scripts  

这将解决问题。我在Mac和Linux上尝试了这个功能。

我对laravel和artisan也有同样的问题,解决方案是:

php artisan key:generate

我不知道我是否相关

我下载了laravel的Github版本,并安装了lando,但无法启动。

在lando recipe中,我必须在.lando.yml中添加php: 8.1

name: ltest1
recipe: laravel
config:
  webroot: public
  php: 8.1

and

$ lando ssh
$ composer install
$ php artisan key:generate

这个解决方案对我很有效。原因是在应用程序中不能有供应商文件夹。

遵循以下步骤:

如果你的项目有作曲家。Json文件,删除它 然后运行 编译器需要phpspec/phpspec

该命令将供应商文件夹添加到项目中