当我运行composer update
时,我收到一些有线输出。
这是我的composer.json看起来像。
{
"name": "laravel/laravel",
"description": "The Laravel Framework.", "keywords": ["framework", "laravel"],
"license": "MIT",
"repositories": [{
"type": "vcs",
"url": "https://github.com/Zizaco/ardent.git"
}],
"require-dev": {
"phpunit/phpunit": "4.3.*"
},
"require": {
"laravel/framework": "4.2.*",
"laravelbook/ardent": "dev-master as 2.4.0",
"zizaco/entrust": "dev-master",
"sebklaus/profiler": "dev-master",
"doctrine/dbal": "dev-master"
},
"autoload": {
"classmap": [
"app/commands",
"app/controllers",
"app/models",
"app/database/migrations", "app/database/seeds", "app/tests",
"app/libraries"
]
},
"scripts": {
"post-install-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
],
"post-update-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
],
"post-create-project-cmd": [
"php artisan key:generate"
]
},
"config": {
"preferred-install": "dist"
},
"minimum-stability": "stable"
}
我该如何解决这个问题?
您的软件依赖项具有不兼容的版本冲突。
同时你想安装任何Laravel 4.2.x版本,并从其主分支安装“zizaco / entrust”。而且这个主分支至少需要Laravel 5.0(粗略地说)。
问题来自对分支的依赖。 zizaco /委托曾经在其主分支中使用Laravel 4.2,并且您可以在当天安装依赖项。但是,当这个分支使用不兼容的版本要求进行更新时,您将永远无法运行composer update
并获得更新的依赖项。
始终使用标记版本!理想情况下,您使用允许兼容更新的宽松版本要求。这应该表示为tilde-two-number版本要求:~1.2
将安装版本1.2.0及更高版本(如1.2.99或1.2.100),以及1.3及更高版本。如果您需要某个补丁版本:Caret-three-number版本^1.2.10
将安装1.2.10或更高,也是1.3及以上。
使用此版本要求而不是dev-master
将允许您在主分支中使用已发布的版本而不是不稳定状态,并允许您处理仍适用于Laravel 4.2的最新版本。我想这将是zizaco /委托版本1.3.0,但版本1.2也符合条件。和"zizaco/entrust": "~1.2"
一起去。
我面临同样的问题。我正在使用'Lumen'微服务框架。我最近通过安装两个软件包解决了同样的问题: -
安装完成后,需要执行以下命令: - composer update
希望,它会解决这个问题。我在我的系统上工作。
这些dev-master
s是自动添加的吗?避免它们作为不必要的版本约束,因为“任何合适的版本”使用"*"
,或者"@dev"
如果你不介意开发包。我的猜测是Entrust是潜在的麻烦制造者。
此外,"minimum-stability": "stable"
施加了额外的限制,并且
"minimum-stability": "dev",
"prefer-stable": true
更加无冲突,认为这是一个经验法则。
在composer.json中的"barryvdh/laravel-cors": "^0.7.3"
数组末尾添加require
保存composer.json并运行composer update
你完成了!
运行此命令:
作曲家安装--ignore-platform-reqs
要么
作曲家更新--ignore-platform-reqs
“config”:{“platform”:{“ext-pcntl”:“7.2”,“ext-posix”:“7.2”}}
原因:
发生错误的原因是您的项目文件夹归root用户所有。
解
将所有权更改为当前登录的用户而不是root用户。如果您只将root用户作为唯一用户,请创建具有root权限的其他用户。
$ sudo chown -R current_user / my / project / directory /
然后
$ composer install
我在Laravel 5.8中遇到了这个问题,我做的是为每个库做所有正确安装的composer require
。
像这样:
而不是将其添加到composer.json文件或指定版本:
composer require msurguy/honeypot: dev-master
我没有指定任何版本:
composer require msurguy/honeypot
我希望它有所帮助,谢谢
只需激活php.ini文件中的curl即可
;extension=php_curl.dll
至
extension=php_curl.dll
然后作曲家安装