349

我最近通过作曲家安装了Laravel 5。我尝试使用工匠创建一个新的控制器,我收到以下错误:

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

我错过了什么吗?

284

使用--no-scripts运行composer

composer update --no-scripts  

这将解决问题。我在Mac和Linux上试过这个。

132

你正在使用哪种操作系统?对于Windows:转到Command Prompt

设置路径 www/{ur project}

为了我 : www/laravel5

然后输入以下命令: composer install

它将自动安装所有依赖项 vendor/

91

运行composer install在你的项目根文件夹(或php composer.phar install)。

68

事实证明我没有在我的php.ini中启用openssl所以当我用composer创建我的新项目时,它是从源代码安装的。我改变了然后跑了

composer update

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

50

您是否创建了新项目或者是否克隆了现有项目?

如果您克隆了现有项目,那么运行非常重要

composer install

这样就可以安装所有缺少的依赖项。

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

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

只需在安装项目的目录中运行它

composer install
  • 1
    我这样做了,但是为什么呢?我想了解原因。 -  Simon Suh 2016年 10月22日17:52
  • 1
    @SimonSuh由于某种原因(网络故障,新项目是在没有通过所有命令的情况下创建的,手动安装时出错,自定义构建安装...)编译器依赖项,其中没有安装或不是最新的。此命令将安装和更新项目的所有依赖项,这将解决问题。希望它成真 -  威利姆2016年 10月24日2:18 
18

我遇到了同样的问题。之所以发生这种情况,是因为composer无法安装composer.json文件中指定的依赖项。试试跑步

composer install 

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

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

sudo apt-get install php-mbstring php-dom

一旦安装完成

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

composer install 
18

您需要重新生成autoload.php文件。您可以使用它dump-autoload来执行此操作,而无需进行安装或更新。

使用

composer dump-autoload

autoload.php/vendor目录中再次生成文件

17

下面这个步骤解决了我的问题。你可以试试

composer update --no-scripts 
composer update
15

在检查了php版本和大量研究之后,问题就出现了,Composer所以只需运行以下命令即可

composer install --ignore-platform-reqs

6

当新项目创建了laravel需要加载供应商以自动加载库时,我们使用composer update来

composer update

Composer是一个依赖项管理器,允许您将管理依赖项的责任委派给第三方。

只需运行以下命令,

composer update

要么

composer install
4

只需使用composer而不是laravel像这样设置一个新项目

composer create-project --prefer-dist laravel/laravel myProje
4

通过cmd转到您的项目文件夹。运行以下命令

composer update

它将在您的项目中安装缺少的供应商文件夹和文件。

但在某些情况下,它会在cmd中出现类似“您的配置不允许连接到.....”的错误。

为此,转到你的composer.json文件,

改变"secure-http": true"secure-http": false

但在某些情况下(如我的情况),您可能无法在文件中找到这样的行。为此,执行以下操作:

change "config": {
        "preferred-install": "dist"
}

"config": {
    "preferred-install": "dist",
    "secure-http": false
}

并再次运行composer update命令。

希望这能解决问题。

4

这个解决方案对我有用。原因是您的应用程序中没有供应商文件夹

跟着这些步骤:

  1. 如果您的项目有composer.json文件,请将其删除

  2. 然后运行

    composer require phpspec/phpspec

该命令将vendor文件夹添加到项目中

3

我也有这个错误。但上述都没有解决问题。所以我卸载并再次安装了作曲家。然后我做了composer update问题得到解决。

3

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

php artisan key:generate
2

在执行以下说明之前,您需要确保在您的机器上全局安装了composer; 打开Mac终端并运行以下命令:

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

一旦全局安装了composer,在您进入项目目录后运行以下命令:

composer install

一旦完成,更新并安装所有必需的包。

1

我将composer.lock文件添加到.gitignore,提交后该文件到存储库错误消失了:)

1

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

需要/vendor文件夹,因为所有包都在那里并包括Laravel使用的所有类,只需执行以下两个步骤就可以解决问题:

composer update --no-scripts 
composer update
  • --no-scripts:跳过在中定义的脚本的执行composer.json

  • composer update:这将检查项目中所需库的更新版本。如果找到更新的版本并且它与composer.json文件中定义的版本约束兼容,它将替换安装的先前版本。composer.lock文件将更新以反映这些更改。

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

1

我意识到你的composer.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"
    ]
},

删除post install cmd帮助运行composer安装没有任何问题。

希望这可以帮助

干杯!!

1

删除供应商文件夹并运行composer install命令。它正在100%工作

0

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

install composerLaravel应用程序的根目录中再次运行之后应该可以正常运行。

0

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

0

安装运行跟随命令可能是一个问题。它对我有用

cd installationFolder
php artisan package:discover
php artisan key:generate
0

我的问题解决了

composer update
composer install
php artisan key:generate

如果您有任何其他问题,可以清除缓存并配置清除路由缓存:

php artisan route:cache

清除视图缓存:

php artisan view:clear

清除配置缓存:

php artisan config:cache
0

我得到这个当我做composer update的不是composer install

0

我得到了这个然后我删除了供应商文件夹然后我做了composer安装