我最近通过作曲家安装了Laravel 5。我尝试使用工匠创建一个新的控制器,我收到以下错误:
自举/../供应商/ autoload.php。无法打开流:没有这样的文件或目录。“vendor”文件夹不存在。
我错过了什么吗?
欢迎各位兄弟 发布技术文章
这里的技术是共享的
使用--no-scripts运行composer
composer update --no-scripts
这将解决问题。我在Mac和Linux上试过这个。
你正在使用哪种操作系统?对于Windows:转到Command Prompt
设置路径 www/{ur project}
为了我 : www/laravel5
然后输入以下命令: composer install
它将自动安装所有依赖项 vendor/
事实证明我没有在我的php.ini中启用openssl所以当我用composer创建我的新项目时,它是从源代码安装的。我改变了然后跑了
composer update
现在已创建供应商文件夹。
您是否创建了新项目或者是否克隆了现有项目?
如果您克隆了现有项目,那么运行非常重要
composer install
这样就可以安装所有缺少的依赖项。
但是如果你创建一个新项目,你应该运行这个命令来使用composer创建一个新项目
composer create-project laravel/laravel name-of-your-project
只需在安装项目的目录中运行它
composer install
我遇到了同样的问题。之所以发生这种情况,是因为composer无法安装composer.json文件中指定的依赖项。试试跑步
composer install
如果这不能解决问题,请确保安装了以下php模块php-mbstring php-dom
要安装此扩展,请在终端中运行以下命令
sudo apt-get install php-mbstring php-dom
一旦安装完成
尝试在项目根文件夹中运行该命令
composer install
您需要重新生成autoload.php
文件。您可以使用它dump-autoload
来执行此操作,而无需进行安装或更新。
使用
composer dump-autoload
autoload.php
在/vendor
目录中再次生成文件。
下面这个步骤解决了我的问题。你可以试试
composer update --no-scripts
composer update
在检查了php
版本和大量研究之后,问题就出现了,Composer
所以只需运行以下命令即可
composer install --ignore-platform-reqs
当新项目创建了laravel需要加载供应商以自动加载库时,我们使用composer update来
composer update
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.json
文件,请将其删除
然后运行
composer require phpspec/phpspec
该命令将vendor文件夹添加到项目中
我也有这个错误。但上述都没有解决问题。所以我卸载并再次安装了作曲家。然后我做了composer update
。问题得到解决。
在执行以下说明之前,您需要确保在您的机器上全局安装了composer; 打开Mac终端并运行以下命令:
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
一旦全局安装了composer,在您进入项目目录后运行以下命令:
composer install
一旦完成,更新并安装所有必需的包。
我们收到错误,因为我们的项目中缺少供应商文件夹,供应商目录包含我们的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安装没有任何问题。
希望这可以帮助
干杯!!
在我的情况下,我必须启用另一个扩展,即php_mbstring.dll
在php.ini
文件可以工作之前。它列在下面extension=php_mbstring.dll
。在php.ini
文件中找到它并删除;
它前面的分号()并保存文件。
在install composer
Laravel应用程序的根目录中再次运行之后应该可以正常运行。
安装运行跟随命令可能是一个问题。它对我有用
cd installationFolder
php artisan package:discover
php artisan key:generate
我的问题解决了
composer update
composer install
php artisan key:generate
如果您有任何其他问题,可以清除缓存并配置清除路由缓存:
php artisan route:cache
清除视图缓存:
php artisan view:clear
清除配置缓存:
php artisan config:cache