我正在设置的项目中出现以下错误:
您正在使用 Composer 2,您的某些插件似乎与之不兼容。确保您更新插件或报告插件问题以要求他们支持 Composer 2。
我本周开始在一家新公司工作,只是试图安装他们的项目,但似乎没有办法在 Windows 上更改我的作曲家版本。我宁愿不更新他们的所有软件包,因为我还不熟悉这些项目,也不知道其中有什么样的影响。
我想安装这两个包:
但作曲家说,他们每个人都依赖于这个包的不同版本:
问题1
Run Code Online (Sandbox Code Playgroud)- Installation request for anahkiasen/former dev-master -> satisfiable by anahkiasen/former[dev-master]. - Can only install one of: anahkiasen/html-object[dev-master, 1.1.2]. - vespakoen/menu dev-master requires anahkiasen/html-object 1.1.2 -> satisfiable by anahkiasen/html-object[1.1.2]. - anahkiasen/former dev-master requires anahkiasen/html-object dev-master -> satisfiable by anahkiasen/html-object[dev-master]. - Installation request for vespakoen/menu dev-master -> satisfiable by vespakoen/menu[dev-master].
我该如何解决?
在我的本地机器上,我有php v7.0.3.我的一个项目依赖于php v5.5.
正如预期的那样,一场简单的composer install崩溃:
Your requirements could not be resolved to an installable set of packages.
Problem 1
- This package requires php ~5.5 but your PHP version (7.0.3) does not satisfy that requirement.
Run Code Online (Sandbox Code Playgroud)
我知道我可以通过以下方式忽略该平台:
composer install --ignore-platform-reqs
Run Code Online (Sandbox Code Playgroud)
但我经常忘记添加旗帜.然而,由于应用程序在docker容器内运行,不匹配的php可以安装依赖项一样好.
所以我想知道是否有办法让我的本地作曲家总是假设--ignore-platform-reqs为了不必输入它.
我喜欢避免设置别名并让它在composer配置级别上工作.
我已经通过Composer安装了一个软件包,并且因为软件包而安装了Guzzlehttp.之后我试图通过Composer安装另一个软件包,这也需要Guzzlehttp和Composer,试图再次安装它.
但我得到了这个错误:
问题1
只能安装以下之一:guzzlehttp/guzzle [6.2.0,6.0.2].
只能安装以下之一:guzzlehttp/guzzle [6.0.2,6.2.0].
只能安装以下之一:guzzlehttp/guzzle [6.0.2,6.2.0].
我看到了什么问题,但我不知道如何解决它.
嗨,当我尝试安装SparkPost PHP库时,我遇到了这个问题:
问题1
- 请求的包sparkpost/sparkpost没有版本集(解析为1.0.0)可以通过sparkpost/sparkpost [没有版本集(解析为1.0.0)]来满足,但这些与您的要求或最小稳定性相冲突.
当我尝试执行此命令时出现:
composer require sparkpost/sparkpost
完整控制台输出:
You are running Composer with SSL/TLS protection disabled.
Using version ^2.0 for sparkpost/sparkpost
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- The requested package sparkpost/sparkpost No version set (parsed as 1.0.0) is satisfiable by sparkpost/sparkpost[No version set (parsed as 1.0.0)] but these conflict with your requirements …Run Code Online (Sandbox Code Playgroud) 我尝试安装:
作曲家需要 laravel/ui
但我一直收到这个错误:
laravel/ui[v3.2.0, ..., 3.x-dev] 需要照明/控制台 ^8.0 -> 找到照明/控制台[v8.0.0, ..., 8.x-dev] 但这些没有加载,可能是因为它与另一个需求冲突。- 根 composer.json 需要 laravel/ui ^3.2 -> 可满足 laravel/ui[v3.2.0, 3.x-dev]。这是我的 composer.json:
{
"name": "laravel/laravel",
"type": "project",
"description": "The Laravel Framework.",
"keywords": [
"framework",
"laravel"
],
"license": "MIT",
"require": {
"php": "^7.2.5|^8.0",
"fideloper/proxy": "^4.4",
"fruitcake/laravel-cors": "^2.0",
"guzzlehttp/guzzle": "^6.3.1|^7.0.1",
"laravel/framework": "^7.29",
"laravel/tinker": "^2.5"
},
"require-dev": {
"facade/ignition": "^2.0",
"fakerphp/faker": "^1.9.1",
"mockery/mockery": "^1.3.1",
"nunomaduro/collision": "^4.3",
"phpunit/phpunit": "^8.5.8|^9.3.3"
},
"config": {
"optimize-autoloader": true,
"preferred-install": "dist",
"sort-packages": true
},
"extra": {
"laravel": …Run Code Online (Sandbox Code Playgroud) 假设我有一个composer.json锁定依赖项的文件:
{
"require" : {
"zendframework/zendframework" : "2.4.2"
},
"require-dev": {
"phpunit/phpunit": "4.6.6"
}
}
Run Code Online (Sandbox Code Playgroud)
我想这样做是因为想要手动更新依赖项,所以我不会遇到构建失败或其他开发人员遇到我没有的问题的情况,因为Composer安装了不同版本的软件包.
是否有一种很好的方法可以使用Composer列出锁定包的所有较新版本,也许类似于composer discover我获得输出的地方:zendframework/zendframework锁定版本2.4.2(2.4.*或其他),但有版本2.5.0,2.5.1和2.6.0可用*?
现有的任何命令都能提供这种信息吗?
基本上,我更关注向我展示的新版本,因此我可以知道手动更新的依赖项.承诺composer.lock不是真正的解决方案,因为这不会告诉我要更新的内容(并且我composer.json被锁定在特定版本,因此composer.lock无论如何都不会有所不同).
以下内容composer.json:
{
"type": "project",
"minimum-stability": "dev",
"require": {
"jasny/bootstrap": ">=3.1.3",
"2amigos/yii2-file-input-widget": "*"
}
}
Run Code Online (Sandbox Code Playgroud)
导致以下输出composer update:
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- 2amigos/yii2-file-input-widget 0.1.2 requires jasny/bootstrap v3.1.0 -> satisfiable by jasny/bootstrap[v3.1.0] but these conflict with your requirements or minimum-stability.
- 2amigos/yii2-file-input-widget 0.1.1 requires jasny/bootstrap v3.1.0 -> satisfiable by jasny/bootstrap[v3.1.0] but these conflict with your requirements or minimum-stability. …Run Code Online (Sandbox Code Playgroud) 我正在使用 Composer Dependency Manager for PHP,它不会安装最新版本的软件包。如何确定是什么阻碍了 Composer 安装最新版本?
例如,我symfony/console在composer.json版本中设置为:
"symfony/console": "~3.1",
Run Code Online (Sandbox Code Playgroud)
如果我运行composer outdated它会显示我symfony/console安装了 3.1.4 版本,并且该版本 3.3.5 可用并且与 semver 兼容。
$ composer outdated --no-ansi
symfony/console v3.1.4 ! v3.3.5 Symfony Console Component
Run Code Online (Sandbox Code Playgroud)
但是,如果我对更新进行试运行,则只有到 3.2.12 版为止。
$ composer update --dry-run --with-dependencies symfony/console
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 2 installs, 2 updates, 0 removals
- Updating symfony/polyfill-mbstring (v1.2.0) to symfony/polyfill-mbstring (v1.4.0)
- Installing psr/log (1.0.2)
- Installing symfony/debug (v3.3.5) …Run Code Online (Sandbox Code Playgroud) 我无法stof/doctrine-extensions-bundle使用我的Composer进行安装.我正在使用Symfony2.1.9版本,并显示了很多问题.第一个是:
找不到请求的包stof/doctrine-extensions-bundle 1.1.*.
这是我的composer.json档案:
{
"name": "symfony/framework-standard-edition",
"description": "The \"Symfony Standard Edition\" distribution",
"autoload": {
"psr-0": { "": "src/" }
},
"require": {
"php": ">=5.3.3",
"symfony/symfony": "2.1.*",
"doctrine/orm": ">=2.2.3,<2.5-dev",
"doctrine/doctrine-bundle": "1.1.*",
"twig/extensions": "1.0.*@dev",
"symfony/assetic-bundle": "2.1.*",
"symfony/swiftmailer-bundle": "2.1.*",
"symfony/monolog-bundle": "2.1.*",
"sensio/distribution-bundle": "2.1.*",
"sensio/framework-extra-bundle": "2.1.*",
"sensio/generator-bundle": "2.1.*",
"jms/security-extra-bundle": "1.2.*",
"jms/di-extra-bundle": "1.1.*",
"kriswallsmith/assetic": "1.1.*@dev",
"pagerfanta/pagerfanta": "dev-master",
"white-october/pagerfanta-bundle": "dev-master",
"friendsofsymfony/user-bundle": "dev-master",
"saad-tazi/g-chart-bundle": "dev-master",
"stof/doctrine-extensions-bundle": "1.1.*",
},
"scripts": {
"post-install-cmd": [
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile"
],
"post-update-cmd": [
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets", …Run Code Online (Sandbox Code Playgroud) 将 PHP 从 7.4 更新到 8.0 后,我composer update在现有项目上运行,出现如下错误:
- acme/some-package[1.0.0, ..., 1.4.0] 需要 php ^5.6.4 || ^7.0 -> 您的 php 版本 (8.0.3) 不满足该要求。
这是什么意思,我该如何解决?
(这是一个参考答案,旨在涵盖一个经常遇到的问题。场景只是一个例子。另见:“如何解释 Composer 的错误日志? ”)
尝试通过Mac的composer在XAMPP 7.1.32 rev 1中安装maatwebsite / excel。如何在Mac的XAMPP中启用这些扩展,或者是否有任何其他问题。请帮我。
composer install
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- maatwebsite/excel 3.1.10 requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
- maatwebsite/excel 3.1.11 requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
- maatwebsite/excel 3.1.12 requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
- maatwebsite/excel 3.1.13 …Run Code Online (Sandbox Code Playgroud) 尝试安装软件包但显示guzzle错误问题1,当前项目要求是
"require": {
"php": "^7.2",
"fideloper/proxy": "^4.0",
"guzzlehttp/guzzle": "^7.0",
"guzzlehttp/psr7": "^1.6",
"laravel/framework": "^6.2",
"laravel/tinker": "^2.0",
"php-http/curl-client": "^2.1"
},
Problem 1
- Installation request for edujugon/laravel-google-ads ^1.2 -> satisfiable by edujugon/laravel-google-ads[1.2.0, 1.2.1, 1.2.10, 1.2.11, 1.2.12, 1.2.2, 1.2.3, 1.2.4, 1.2.5, 1.2.6, 1.2.7, 1.2.8, 1.2.9].
- Can only install one of: guzzlehttp/guzzle[6.5.x-dev, 7.0.1].
- Can only install one of: guzzlehttp/guzzle[7.0.1, 6.5.x-dev].
- Can only install one of: guzzlehttp/guzzle[6.5.x-dev, 7.0.1].
- Conclusion: install guzzlehttp/guzzle 6.5.x-dev
- Installation request for guzzlehttp/guzzle (locked at 7.0.1, required …Run Code Online (Sandbox Code Playgroud) composer-php ×12
php ×9
laravel ×3
conflict ×1
guzzle ×1
hhvm ×1
laravel-7 ×1
laravel-ui ×1
php-8 ×1
sparkpost ×1
symfony ×1
symfony-2.1 ×1
windows ×1