我最近通过composer安装了Laravel 5。我尝试使用artisan创建一个新的控制器,我得到以下错误:
引导/ . . /供应商/ autoload.php。无法打开流:没有这样的文件或目录。“vendor”文件夹不存在。
我遗漏了什么吗?
在根项目文件夹(或php composer.phar install)中运行composer install。
php composer.phar install
composer install
您是创建了一个新项目还是克隆了一个现有项目?
如果你克隆了一个现有的项目,运行它是非常重要的
这样,所有缺失的依赖项都将被安装。
但是如果你创建了一个新项目,你应该运行这个命令来使用composer创建一个新项目
composer create-project laravel/laravel name-of-your-project
您使用的是哪个操作系统? Windows操作系统: 返回Command Prompt
Command Prompt
设置路径为www/{ur project}
www/{ur project}
对我来说:www/laravel5
www/laravel5
然后键入这个命令:composer install
它将自动在vendor/中安装所有依赖项
vendor/
原来我没有在我的php.ini中启用openssl,所以当我用composer创建我的新项目时,它是从源代码安装的。我改了主意,跑了
composer update
现在已经创建了供应商文件夹。
我也有这个错误。但上述方法都无法解决问题。所以我卸载并重新安装了作曲家。然后我做了composer update。问题解决了。
只需运行以下命令,
或
运行composer -no-scripts
composer update --no-scripts
这将解决问题。我在Mac和Linux上尝试了这个功能。
当我用composer update代替composer install时,我得到了这个。
在我的情况下,我必须启用另一个扩展,即php.ini文件中的php_mbstring.dll,然后它才能工作。它列在extension=php_mbstring.dll下。在php.ini文件中找到它,并删除它前面的分号(;)并保存文件。
php.ini
php_mbstring.dll
extension=php_mbstring.dll
;
之后,在你的Laravel应用程序的根目录下再次运行install composer,它应该可以工作。
install composer
通过cmd进入你的项目文件夹。运行以下命令
它将安装项目中缺少的供应商文件夹和文件。
但在某些情况下,它会在cmd中给出类似“您的配置不允许连接到.....”的错误。
去你的composer.json文件,
将"secure-http": true改为"secure-http": false
"secure-http": true
"secure-http": false
但在某些情况下(就像我的情况),你可能在你的文件中找不到这样的行。为此,请执行以下操作:
change "config": { "preferred-install": "dist" }
来
"config": { "preferred-install": "dist", "secure-http": false }
并再次执行composer update命令。
希望这能解决问题。
我将composer.lock文件添加到.gitignore,在将该文件提交到存储库后错误消失:)
composer.lock
要安装此扩展,请在终端中运行以下命令
sudo apt-get install php-mbstring php-dom
一旦安装完成
尝试在项目根文件夹中运行该命令
只需在安装项目的目录中运行此命令
只需要像这样使用composer而不是laravel来设置一个新项目:
composer
laravel
composer create-project --prefer-dist laravel/laravel myProje
Composer是一个依赖项管理器,允许您将管理依赖项的责任委托给第三方。
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
一旦全局安装了composer,在项目目录中运行以下命令:
一旦完成,更新和安装所有所需的包。
下面的步骤解决了我的问题。你可以试试
composer update --no-scripts composer update
你需要重新生成autoload.php文件。你可以使用dump-autoload来做到这一点,而不必通过安装或更新。
autoload.php
dump-autoload
使用
composer dump-autoload
在/vendor目录下再次生成autoload.php文件。
/vendor
在检查了php版本和大量的研究后,问题是在Composer方面,所以只需运行以下命令
php
Composer
composer install --ignore-platform-reqs
我对laravel和artisan也有同样的问题,解决方案是:
php artisan key:generate
如果你是Windows用户,你可以卸载Composer。然后安装Composer。然后安装Laravel。也许它会起作用。
这个解决方案对我很有效。原因是在你的应用程序中没有供应商的文件夹。
遵循以下步骤:
如果你的项目有composer.json文件,删除它
composer.json
composer require phpspec/phpspec
That command add vendor folder to your project
我的问题由
composer update composer install php artisan key:generate
如果你有任何其他问题,你可以清除缓存和配置 Clear Route cache:
php artisan route:cache
清除视图缓存:
php artisan view:clear
清除配置缓存:
php artisan config:cache
我们得到一个错误,因为我们在我们的项目中缺少供应商文件夹,供应商目录包含我们的Composer依赖项。
需要/vendor文件夹,因为所有的包都在那里,包括Laravel使用的所有类,一个问题可以在以下两个步骤后解决:
这两个命令,我们将在我们的项目中重新创建供应商文件夹,之后我们的项目将顺利工作。
我意识到是你的作曲家。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安装而没有任何问题。
post install cmd
希望这能有所帮助
干杯! !
删除vendor文件夹,执行composer install命令。100%正常工作
先删除供应商,再删除composer install
您缺少供应商文件夹,可能是其新克隆的存储库或新项目
供应商文件夹由composer二进制文件填充,该二进制文件读取composer。Json文件或系统需求和安装包在供应商文件夹下,并创建一个自动加载脚本,已全部分类
这对我有用: 在安装项目后,我打开项目的文件夹并运行这两个命令
composer update composer require doctrine/dbal
我不知道我是否相关
我下载了laravel的Github版本,并安装了lando,但无法启动。
在lando recipe中,我必须在.lando.yml中添加php: 8.1
.lando.yml
php: 8.1
name: ltest1 recipe: laravel config: webroot: public php: 8.1
而且
$ lando ssh $ composer install $ php artisan key:generate