Laravel 5 需要打开失败 bootstrap/../vendor/autoload.php

Laravel 5 Failed opening required bootstrap/../vendor/autoload.php

我最近通过 Composer 安装了 Laravel 5。我尝试使用 artisan 创建一个新控制器,但出现以下错误:

bootstrap/../vendor/autoload.php. Failed to open stream: No such file or directory. The "vendor" folder does not exist.

我是不是漏掉了什么?

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

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

如果您克隆了一个现有项目,那么 运行

非常重要
composer install

这样所有缺少的依赖项都会被安装。

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

创建一个新项目
composer create-project laravel/laravel name-of-your-project

您正在使用哪个 OS? 对于 Windows : 转到 Command Prompt

将路径设置为 www/{ur project}

对我来说:www/laravel5

然后键入此命令:composer install

它会自动安装vendor/

中的所有依赖

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

composer update

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

我也有这个错误。但是上面的 none 解决了这个问题。所以我卸载并重新安装了作曲家。然后我做了composer update。问题已解决。

只需运行以下命令,

composer update

或者

composer install

运行 作曲家 --no-scripts

composer update --no-scripts  

这将解决问题。我在 Mac 和 Linux.

上试过了

我在 composer update 而不是 composer install 时得到了这个。

在我的例子中,我必须在 php.ini 文件中启用另一个扩展,即 php_mbstring.dll 才能工作。它列在 extension=php_mbstring.dll 下。在php.ini文件中找到,去掉前面的分号(;),保存文件。

在此 运行 install composer 之后再次进入您的 Laravel 应用程序的根目录并且应该可以工作。

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

composer update

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

但在某些情况下,它会在 cmd 中给出类似 "Your configuration does not allow connection to ....." 的错误。

为此请转到您的 composer.json 文件,

"secure-http": true更改为"secure-http": false

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

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

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

和运行再次composer update命令。

希望这能解决问题。

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

我遇到了同样的问题。这是因为 composer 无法安装 composer.json 文件中指定的依赖项。 尝试 运行宁

composer install 

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

要在终端中安装此扩展 运行 以下

sudo apt-get install php-mbstring php-dom

安装完成后

尝试运行在您的项目根文件夹中使用该命令

composer install 

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

composer install

只需使用 composer 而不是 laravel 设置一个新项目,如下所示:

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

创建新项目时 laravel 需要加载供应商以自动加载库, 我们使用作曲家更新

composer update

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

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

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

全局安装 composer 后 运行 在项目目录中执行以下命令:

composer install

完成后更新并安装所有必需的包。

按照以下步骤解决了我的问题。你可以试试

composer update --no-scripts 
composer update

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

使用

composer dump-autoload

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

检查 php 版本并进行大量研究后,问题出在 Composer 方面,所以只需 运行 以下命令

composer install --ignore-platform-reqs

我在 laravel 和 artisan 上遇到了同样的问题,解决方案:

php artisan key:generate

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

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

按照以下步骤操作:

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

  2. 然后 运行

    composer require phpspec/phpspec
    

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

我的问题已被

解决
composer update
composer install
php artisan key:generate

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

php artisan route:cache

清除视图缓存:

php artisan view:clear

清除配置缓存:

php artisan config:cache

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

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

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

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

我意识到你的 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 安装没有任何问题。

希望对您有所帮助

干杯!!

删除供应商文件夹和运行 composer 安装命令。它正在 100%

删除供应商然后composer install

您缺少 vendor 文件夹,可能是它的新克隆存储库或新项目

vendor 文件夹由 composer 二进制文件填充,它读取 composer.json 文件或系统要求并在 vendor 文件夹下打包安装并创建一个自动加载脚本,其中包含所有分类

composer update

这对我有用: 安装项目后,我打开项目的文件夹和运行这两个命令

composer update

composer require doctrine/dbal