ChatGPT解决这个技术问题 Extra ChatGPT

Laravel 5 无法打开所需的 bootstrap/../vendor/autoload.php

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

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

我错过了什么吗?


S
Shubhamoy

使用 --no-scripts 运行作曲家

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 完成了这项工作。谢谢!
B
Brane

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

设置 www/{ur project} 的路径

对我来说:www/laravel5

然后输入以下命令:composer install

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


d
dan-klasson

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


S
Scott

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

composer update

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


C
Community

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

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

composer install

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

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

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

n
naveddeshmukh

我遇到了同样的问题。这是因为 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 后工作。谢谢!
H
Hamid Parchami

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

利用

composer dump-autoload

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


这对我有用,但有这个错误致命错误:找不到类'Illuminate\Foundation\Application'。
R
RASEL RANA

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

composer update --no-scripts 
composer update

也解决了我的问题!谢谢
非常感谢你!
W
Williem

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

composer install

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

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

composer install --ignore-platform-reqs


U
Udhav Sarvaiya

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

按着这些次序:

如果你的项目有 composer.json 文件,删除它然后运行 composer require phpspec/phpspec

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


U
Udhav Sarvaiya

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

希望这能解决问题。


R
Raham

只需运行以下命令,

composer update

或者

composer install

S
Suresh Kumar Amrani

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

composer update

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


R
Raheel Hasan

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

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

H
Hassan Raza

删除 供应商 然后 composer install


S
Srijan Karki

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


composer install之后
A
AWS PS

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

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

composer update

K
Krishneil

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

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

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

composer install

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


M
Marcelo Agimóvel

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

php artisan key:generate

U
Udhav Sarvaiya

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

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

composer update --no-scripts 
composer update

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

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

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


A
Alupotha

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


s
sanjay

我的问题解决了

composer update
composer install
php artisan key:generate

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

php artisan route:cache

清除视图缓存:

php artisan view:clear

清除配置缓存:

php artisan config:cache

u
usrNotFound

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

希望这可以帮助

干杯!!


U
Udhav Sarvaiya

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


o
orxanzadeh

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


B
Bono

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

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


c
clemens

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


W
Wria Mohammed

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

composer update

composer require doctrine/dbal