我最近通过作曲家安装了Laravel 5。我尝试使用工匠创建一个新的控制器,我收到以下错误:
自举/../供应商/ autoload.php。无法打开流:没有这样的文件或目录。 “vendor”文件夹不存在。
我错过了什么吗?
答案 0 :(得分:277)
使用--no-scripts
运行composercomposer update --no-scripts
这将解决问题。我在Mac和Linux上试过这个。
答案 1 :(得分:129)
您使用的是哪种操作系统?
对于Windows:
转到Command Prompt
将路径设置为www/{ur project}
对我来说:www/laravel5
然后输入以下命令: composer install
它将自动安装vendor/
答案 2 :(得分:89)
在根项目文件夹(或composer install
)中运行php composer.phar install
。
答案 3 :(得分:64)
原来我没有在我的php.ini中启用openssl所以当我用composer创建我的新项目时,它是从源代码安装的。我改变了并且跑了
composer update
现在已创建供应商文件夹。
答案 4 :(得分:49)
您是创建新项目还是克隆现有项目?
如果您克隆了现有项目,那么运行
非常重要composer install
这样就可以安装所有缺少的依赖项。
但是如果你创建一个新项目,你应该运行这个命令来使用composer
创建一个新项目composer create-project laravel/laravel name-of-your-project
答案 5 :(得分:21)
只需在安装项目的目录中运行
composer install
答案 6 :(得分:18)
您需要重新生成autoload.php
文件。您可以使用dump-autoload
执行此操作,而无需进行安装或更新。
使用
composer dump-autoload
在autoload.php
目录中再次生成/vendor
文件。
答案 7 :(得分:18)
我遇到了同样的问题。之所以发生这种情况,是因为composer无法安装composer.json文件中指定的依赖项。 尝试运行
composer install
如果这不能解决问题,请确保 安装了以下php模块 PHP-MBSTRING PHP-DOM
要安装此扩展程序,请在终端
中运行以下命令sudo apt-get install php-mbstring php-dom
安装完成后
尝试在项目根文件夹中运行该命令
composer install
答案 8 :(得分:17)
按照以下步骤解决了我的问题。你可以尝试
pip install your-lib-xyz.whl
答案 9 :(得分:14)
检查php
版本和大量研究后,问题出在Composer
侧,所以只需运行以下命令
<强> composer install --ignore-platform-reqs
强>
答案 10 :(得分:6)
当新项目创建laravel时需要加载供应商以自动加载库, 我们使用作曲家更新
composer update
Composer是一个依赖项管理器,允许您将管理依赖项的责任委派给第三方。
答案 11 :(得分:5)
只需运行以下命令,
composer update
或者
composer install
答案 12 :(得分: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
命令。
希望这能解决问题。
答案 13 :(得分:4)
只需使用composer
代替laravel
设置新项目,如下所示:
composer create-project --prefer-dist laravel/laravel myProje
答案 14 :(得分:3)
我也有这个错误。但上述都没有解决问题。所以我卸载并再次安装了作曲家。然后我做了composer update
。问题得到解决。
答案 15 :(得分:3)
我对laravel和artisan有同样的问题,解决方案:
php artisan key:generate
答案 16 :(得分:3)
此解决方案对我有用。原因是您的应用程序中没有供应商文件夹。
请按照以下步骤操作:
如果您的项目有composer.json
文件,请将其删除
然后运行
composer require phpspec/phpspec
该命令将供应商文件夹添加到您的项目中
答案 17 :(得分:2)
在执行以下说明之前,您需要确保在您的机器上全局安装了composer; 打开Mac终端并运行以下命令:
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
在全局安装composer之后,在项目目录中运行以下命令:
composer install
完成后,请更新并安装所有必需的软件包。
答案 18 :(得分:1)
您缺少供应商文件夹,可能是它的新克隆存储库或新项目
供应商文件夹由composer二进制文件填充,该二进制文件读取composer.json文件或系统要求并安装打包在供应商文件夹下的文件,并创建具有所有分类的自动加载脚本
composer update
答案 19 :(得分:1)
我将composer.lock
文件添加到.gitignore,在将该文件提交到存储库错误之后就消失了:)
答案 20 :(得分:1)
我知道了,然后删除了供应商文件夹,然后进行了 composer安装
答案 21 :(得分: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安装,没有任何问题。
希望这会有所帮助
干杯!
答案 22 :(得分:0)
安装运行以下命令可能是一个问题。它对我有用
cd installationFolder
php artisan package:discover
php artisan key:generate
答案 23 :(得分:0)
我的问题已通过
解决composer update
composer install
php artisan key:generate
如果还有其他问题,可以清除缓存和配置 清除路由缓存:
php artisan route:cache
清除视图缓存:
php artisan view:clear
清除配置缓存:
php artisan config:cache
答案 24 :(得分:0)
出现错误是因为我们的项目中缺少 vendor 文件夹,vendor目录包含我们的Composer依赖项。
需要/vendor
文件夹,因为所有软件包都在那里并且包括Laravel使用的所有类。只需执行以下两个步骤即可解决问题:
composer update --no-scripts
composer update
composer.json
中定义的脚本的执行composer.json
文件中定义的版本限制兼容,它将替换先前安装的版本。 composer.lock
文件将被更新以反映这些更改。这两个命令,我们将在项目中重新创建vendor文件夹,然后我们的项目将顺利运行。
答案 25 :(得分:0)
如果您是Windows用户,则可以卸载Composer。然后安装Composer。之后你安装Laravel。也许它会起作用。
答案 26 :(得分:0)
删除供应商文件夹并运行composer install命令。正在100%工作
答案 27 :(得分:0)
当我composer update
代替composer install
时,我得到了这个。
答案 28 :(得分:0)
在我的情况下,我必须启用另一个扩展名,即php_mbstring.dll
文件中的php.ini
才能生效。它列在extension=php_mbstring.dll
下。在php.ini
文件中找到它并删除前面的分号(;
)并保存文件。
在Laravel应用程序的根目录中再次运行install composer
之后应该可以正常运行。