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

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

我遗漏了什么吗?


当前回答

我也遇到过同样的问题。出现这种情况是因为composer无法安装composer中指定的依赖项。json文件。 尝试运行

composer install 

如果这不能解决问题,请确保 安装了以下PHP模块 php-mbstring php dom

要安装此扩展,请在终端中运行以下命令

sudo apt-get install php-mbstring php-dom

一旦安装完成

尝试在项目根文件夹中运行该命令

composer install 

其他回答

如果你是Windows用户,你可以卸载Composer。然后安装Composer。然后安装Laravel。也许它会起作用。

我意识到是你的作曲家。Json文件中会有一些脚本

"scripts": {
    "post-root-package-install": [
        "php -r \"copy('.env.example', '.env');\""
    ],
    "post-create-project-cmd": [
        "php artisan key:generate"
    ],
    "post-install-cmd": [
        "php artisan clear-compiled",
        "php artisan optimize"
    ],
    "pre-update-cmd": [
        "php artisan clear-compiled"
    ],
    "post-update-cmd": [
        "php artisan optimize"
    ],
    "post-autoload-dump": [
        "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
        "@php artisan package:discover"
    ]
},

对我有用的方法:

"scripts": {
    "post-root-package-install": [
        "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
    ],
    "post-create-project-cmd": [
        "@php artisan key:generate"
    ],
    "post-autoload-dump": [
        "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
        "@php artisan package:discover"
    ]
},

删除安装后CMD帮助运行编写器安装没有任何问题。

希望这能有所帮助

干杯! !

我也有这个错误。但上述方法都无法解决问题。所以我卸载并重新安装了作曲家。然后我做了作曲家更新。问题解决了。

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

遵循以下步骤:

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

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

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

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

composer update --no-scripts 
composer update

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

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