【发布时间】:2015-04-12 15:59:55
【问题描述】:
我最近通过 composer 安装了 Laravel 5。我尝试使用 artisan 创建一个新控制器,但出现以下错误:
bootstrap/../vendor/autoload.php。无法打开流:没有这样的文件或目录。 “供应商”文件夹不存在。
我错过了什么吗?
【问题讨论】:
我最近通过 composer 安装了 Laravel 5。我尝试使用 artisan 创建一个新控制器,但出现以下错误:
bootstrap/../vendor/autoload.php。无法打开流:没有这样的文件或目录。 “供应商”文件夹不存在。
我错过了什么吗?
【问题讨论】:
在您的项目根文件夹中运行composer install(或php composer.phar install)。
【讨论】:
您是创建了新项目还是克隆了现有项目?
如果您克隆了现有项目,那么运行非常重要
composer install
这样所有缺少的依赖项都会被安装。
但是如果你创建一个新项目,你应该运行这个命令来使用composer创建一个新项目
composer create-project laravel/laravel name-of-your-project
【讨论】:
您使用的是哪个操作系统?
对于 Windows:
转至Command Prompt
设置www/{ur project}的路径
对我来说:www/laravel5
然后输入这个命令:composer install
它会自动安装vendor/中的所有依赖
【讨论】:
原来我没有在我的 php.ini 中启用 openssl,所以当我使用 composer 创建新项目时,它是从源代码安装的。我改变了它并运行了
composer update
现在供应商文件夹已创建。
【讨论】:
我也有这个错误。但以上都没有解决问题。所以我卸载并再次安装了作曲家。然后我做了composer update。问题就解决了。
【讨论】:
composer install之后
只需运行以下命令,
composer update
或者
composer install
【讨论】:
使用 --no-scripts 运行 composer
composer update --no-scripts
这将解决问题。我在 Mac 和 Linux 上试过这个。
【讨论】:
composer install 对我不起作用,composer update --no-scripts 完成了这项工作。谢谢!
当我使用composer update 而不是composer install 时,我得到了这个。
【讨论】:
在我的情况下,我必须启用另一个扩展,即 php_mbstring.dll 在 php.ini 文件中才能工作。它列在extension=php_mbstring.dll 下。在php.ini文件中找到,去掉前面的分号(;),保存文件。
在你的 Laravel 应用程序的根目录中再次运行 install composer 之后应该可以工作了。
【讨论】:
通过 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 命令。
希望这能解决问题。
【讨论】:
我将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 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。也许它会起作用。
【讨论】:
这个解决方案对我有用。原因是您的应用程序中没有供应商文件夹。
按照以下步骤操作:
如果你的项目有composer.json文件,删除它
然后运行
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
composer.json中定义的脚本的执行
composer.json 文件中定义的版本约束兼容,它将替换之前安装的版本。 composer.lock 文件将更新以反映这些更改。这两个命令,我们将在我们的项目中重新创建vendor文件夹,之后我们的项目将顺利运行。
【讨论】:
我意识到你的 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 没有任何问题。
希望对你有帮助
干杯!!
【讨论】:
删除供应商文件夹并运行 composer install 命令。它正在工作 100%
【讨论】:
删除供应商,然后删除composer install
【讨论】:
您缺少供应商文件夹,可能是它的新克隆存储库或新项目
供应商文件夹由 Composer 二进制文件填充,它读取 composer.json 文件或系统要求并安装打包在供应商文件夹下并创建一个自动加载脚本,该脚本具有所有分类
composer update
【讨论】:
这对我有用: 安装项目后,我打开项目的文件夹并运行这两个命令
composer update
composer require doctrine/dbal
【讨论】: