【问题标题】:Laravel 5 Failed opening required bootstrap/../vendor/autoload.phpLaravel 5 无法打开所需的 bootstrap/../vendor/autoload.php
【发布时间】:2015-04-12 15:59:55
【问题描述】:

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

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

我错过了什么吗?

【问题讨论】:

    标签: php laravel-5


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      composer install
      

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

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

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

      【讨论】:

        【解决方案3】:

        您使用的是哪个操作系统? 对于 Windows: 转至Command Prompt

        设置www/{ur project}的路径

        对我来说:www/laravel5

        然后输入这个命令:composer install

        它会自动安装vendor/中的所有依赖

        【讨论】:

          【解决方案4】:

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

          composer update
          

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

          【讨论】:

            【解决方案5】:

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

            【讨论】:

            • composer install之后
            【解决方案6】:

            只需运行以下命令,

            composer update
            

            或者

            composer install
            

            【讨论】:

              【解决方案7】:

              使用 --no-scripts 运行 composer

              composer update --no-scripts  
              

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

              【讨论】:

              • 有时当你运行:“composer install”时,你也会遇到这个错误,所以最好的选择是先运行:“composer install --no-scripts”,然后正常运行composer install。
              • Composer 文档:--no-scripts:跳过 composer.json 中定义的脚本的执行。 (getcomposer.org/doc/03-cli.md#update)
              • 使用 composer install 会更好,因为它将运行安装所有依赖项所需的一切,包括脚本。
              • 错误 Composer 在 C:\composer 中找不到 composer.json 文件 要初始化项目,请按照getcomposer.org“入门”部分中的说明创建一个 composer.json 文件
              • composer install 对我不起作用,composer update --no-scripts 完成了这项工作。谢谢!
              【解决方案8】:

              当我使用composer update 而不是composer install 时,我得到了这个。

              【讨论】:

                【解决方案9】:

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

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

                【讨论】:

                  【解决方案10】:

                  通过 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 命令。

                  希望这能解决问题。

                  【讨论】:

                    【解决方案11】:

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

                    【讨论】:

                      【解决方案12】:

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

                      composer install 
                      

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

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

                      sudo apt-get install php-mbstring php-dom
                      

                      安装完成后

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

                      composer install 
                      

                      【讨论】:

                      • 我安装了 php-xml 来让它工作,而不是 php-dom(它在 16.04 中不存在)。
                      • 太棒了!!!有效!!安装 php-xml 而不是 php-dom 是 apt-get 在 ubuntu 16.04 中的默认操作
                      • 它在安装 mbstring 和 php-dom 后工作。谢谢!
                      【解决方案13】:

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

                      composer install
                      

                      【讨论】:

                      • 我这样做了,它奏效了,但为什么呢?我想了解原因。
                      • @SimonSuh 出于某种原因(网络故障、新项目创建时未执行所有命令、手动安装时出错、自定义构建安装...)未安装或不是最新的作曲家依赖项.此命令将安装和更新项目的所有依赖项,这将解决问题。希望够了
                      【解决方案14】:

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

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

                      【讨论】:

                        【解决方案15】:

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

                        composer update
                        

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

                        【讨论】:

                          【解决方案16】:

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

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

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

                          composer install
                          

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

                          【讨论】:

                            【解决方案17】:

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

                            composer update --no-scripts 
                            composer update
                            

                            【讨论】:

                            • 也解决了我的问题!谢谢
                            • 非常感谢!
                            【解决方案18】:

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

                            使用

                            composer dump-autoload
                            

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

                            【讨论】:

                            • 这对我有用,但出现此错误致命错误:找不到类 'Illuminate\Foundation\Application'。
                            【解决方案19】:

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

                            composer install --ignore-platform-reqs

                            【讨论】:

                              【解决方案20】:

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

                              php artisan key:generate
                              

                              【讨论】:

                                【解决方案21】:

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

                                【讨论】:

                                  【解决方案22】:

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

                                  按照以下步骤操作:

                                  1. 如果你的项目有composer.json文件,删除它

                                  2. 然后运行

                                    composer require phpspec/phpspec
                                    

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

                                  【讨论】:

                                    【解决方案23】:

                                    我的问题解决了

                                    composer update
                                    composer install
                                    php artisan key:generate
                                    

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

                                    php artisan route:cache
                                    

                                    清除视图缓存:

                                    php artisan view:clear
                                    

                                    清除配置缓存:

                                    php artisan config:cache
                                    

                                    【讨论】:

                                      【解决方案24】:

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

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

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

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

                                      【讨论】:

                                        【解决方案25】:

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

                                        希望对你有帮助

                                        干杯!!

                                        【讨论】:

                                          【解决方案26】:

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

                                          【讨论】:

                                            【解决方案27】:

                                            删除供应商,然后删除composer install

                                            【讨论】:

                                              【解决方案28】:

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

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

                                              composer update
                                              

                                              【讨论】:

                                                【解决方案29】:

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

                                                composer update
                                                
                                                composer require doctrine/dbal
                                                

                                                【讨论】:

                                                  猜你喜欢
                                                  • 2016-09-04
                                                  • 2023-04-02
                                                  • 2016-10-20
                                                  • 2019-06-07
                                                  • 2015-12-11
                                                  • 1970-01-01
                                                  • 1970-01-01
                                                  • 2014-11-25
                                                  • 2017-04-19
                                                  相关资源
                                                  最近更新 更多