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

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

我遗漏了什么吗?


当前回答

您需要重新生成autoload.php文件。你可以使用dump-autoload来做到这一点,而不必通过安装或更新。

use

composer dump-autoload

在/vendor目录下再次生成autoload.php文件。

其他回答

这对我来说很管用: 在安装项目之后,我打开项目的文件夹并运行这两个命令

composer update

composer require doctrine/dbal

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

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

composer update --no-scripts 
composer update

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

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

在我的情况下,我必须启用另一个扩展,即php_mbstring.dll在php.ini文件之前,它可以工作。它列在extension=php_mbstring.dll下。在php.ini文件中找到它,删除它前面的分号(;)并保存文件。

在此之后,再次在你的Laravel应用程序的根目录下运行install composer,它应该可以工作。

原来我没有在我的php.ini中启用openssl,所以当我用composer创建我的新项目时,它是从源代码安装的。我改了主意,跑了

composer update

现在已经创建了供应商文件夹。

运行composer -no-scripts

composer update --no-scripts  

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