composer.json无法解析可安装的程序包集 [英] composer.json fails to resolve installable set of package
问题描述
我不能安装stof / doctrine-extensions-bundle与我的composer.i'm使用Symfony2.1.9版本。很多问题显示。第一个是:请求包stof / doctrine-extensions-bundle 1.1。*无法找到。
这是我的composer.json文件:
{
name:symfony /标准版,
description:The \Symfony Standard Edition \distribution,
autoload:{
psr-0:{ src /}
},
require:{
php:> = 5.3.3,
symfony / symfony: *,
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\\ DistributedBundle\\Composer\\ScriptHandler :: clearCache,
Sensio\\Bundle \\ Distribution DistributionBundle \\Composer\\ ScriptHandler :: installAssets,
Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler :: installRequirementsFile
] ,
post-update-cmd:[
Sensio\\Bundle\\ DistributedBundle\\Composer\\ScriptHandler :: buildBootstrap,
Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler :: clearCache,
Sensio\\Bundle \\ Distribution DistributionBundle \\Composer\\\ \\ ScriptHandler :: installAssets,
Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler :: installRequirementsFile
]
},
extra:{
symfony-app-dir:app,
symfony-web-dir:web,
branch-alias:{
dev-master:2.1-dev
}
}
}
当我将包要求设置为:stof / doctrine-extensions-bundle:1.1。* @ dev
响应是:您的要求无法解析为可安装的程序包集
可能是问题请??
我应该首先安装DoctrineExtensions ????
错误信息:
code>问题1
- 结论:不要安装symfony / symfony v2.1.10
- 结论:删除symfony / symfony v2.1.9
- 结论:不要安装symfony / symfony v2.1.9
- 结论:不要安装symfony / symfony v2.1.8
- 结论:不要安装symfony / symfony v2.1.7
- 结论:不要安装symfony / symfony v2.1.6
- 结论:不要安装symfony / symfony v2.1.5
- 结论:不要安装symfony / symfony v2.1.4
- 结论:不要安装symfony / symfony v2.1.3
- 结论:不要安装symfony / symfony v2.1.2
- 结论:不要安装symfony / symfony v2.1.1
- white-october / pagerfanta-bundle dev-master需要symfony / framework-bund
le> = 2.2,< 3.0 - >满足symfony / symfony [v2.2.0,v2.2.1],symfony / framewo
rk-bundle [v2.2.0,v2.2.1]。
- white-october / pagerfanta-bundle dev-master需要symfony / framework-bund
le> = 2.2,< 3.0 - >满足symfony / symfony [v2.2.0,v2.2.1],symfony / framewo
rk-bundle [v2.2.0,v2.2.1]。
- 只能安装以下命令之一:symfony / symfony [v2.2.0,v2.1.0]。
- 只能安装以下命令之一:symfony / symfony [v2.2.1,v2.1.0]。
- 不要安装symfony / framework-bundle v2.2.0 |不要安装symfony / symfon
y v2.1.0
- 不要安装symfony / framework-bundle v2.2.1 |不要安装symfony / symfon
y v2.1.0
- symfony / symfony的安装请求2.1。* - >可满足symfony / s
ymfony [v2.1.0,v2.1.1,v2.1.10,v2.1.2,v2.1.3,v2.1.4,v2.1.5,v2.1.6,v2.1.7,
v2.1.8,v2.1.9]。
- 白 - 十月/ pagerfanta-bundle dev-master的安装请求 - > sat
isfiable by white-october / pagerfanta-bundle [dev-master]。
这里的关键部分如下: p>
[...]
white-october / pagerfanta-bundle dev-master需要symfony / framework-bundle> = 2.2,< 3.0 - >可由symfony / symfony [v2.2.0,v2.2.1],symfony / framework-bundle [v2.2.0,v2.2.1]满足。
[...]
这可能会导致混乱!让我解释一下:
虽然它说依赖可以通过更新 symfony / symfony 到2.2.0或2.2.1 ...更新是不需要! (即使更新可能是一个好主意,没有必要解决这个问题,并可能导致破碎的代码,因为BC [向后兼容性]断裂)
注意:
许多邮件包都有旧版分支 ...例如 2.1.x分支以支持 symfony / symfony 2.1。
在 packagist ,然后将整个项目盲目更新到新版本的根包!
提示::
通常情况下,如果组合器无法获取依赖关系,这通常与您所需的最低稳定性包。所有包的最低稳定性通常默认为稳定。解决方案: b $ b
smarttech对 white-october / pagerfanta-bundle 使用了错误的分支(dev-master),并将其与symfony 2.1 配合使用。 2.1的正确分支应为:
white-october / pagerfanta-bundle: 2.1.*@dev
...其中 @dev stable标志告诉composer对这个单独的包使用doctrine-extensions-bundle的 dev 版本。请详细了解作曲家的稳定性标记。
快速查看稳定性阶层:
code> dev< α, β, rc < beta
替代方案:
解决问题的另一种方法是设置作曲家的最低稳定性< a>。
虽然这不适用于所有约束,因此不推荐使用 ,结果会得到不稳定版本的 all 包。
{
[...]
require:
[...]
minimum-stability:dev,
[...]
b $ b
i can't install stof/doctrine-extensions-bundle with my composer.i 'm using Symfony2.1.9 version.a lot of problems are shown.the first one is:the requested package stof/doctrine-extensions-bundle 1.1.* could not be found. this is my composer.json file:
{
"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",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile"
]
},
"extra": {
"symfony-app-dir": "app",
"symfony-web-dir": "web",
"branch-alias": {
"dev-master": "2.1-dev"
}
}
}
when i set the package requirement to: "stof/doctrine-extensions-bundle": "1.1.*@dev"
the response was: your requirement could not be resolved to an installable set of package
what could be the problem please?? should i install DoctrineExtensions first????
error message:
Problem 1
- Conclusion: don't install symfony/symfony v2.1.10
- Conclusion: remove symfony/symfony v2.1.9
- Conclusion: don't install symfony/symfony v2.1.9
- Conclusion: don't install symfony/symfony v2.1.8
- Conclusion: don't install symfony/symfony v2.1.7
- Conclusion: don't install symfony/symfony v2.1.6
- Conclusion: don't install symfony/symfony v2.1.5
- Conclusion: don't install symfony/symfony v2.1.4
- Conclusion: don't install symfony/symfony v2.1.3
- Conclusion: don't install symfony/symfony v2.1.2
- Conclusion: don't install symfony/symfony v2.1.1
- white-october/pagerfanta-bundle dev-master requires symfony/framework-bund
le >=2.2,<3.0 -> satisfiable by symfony/symfony[v2.2.0, v2.2.1], symfony/framewo
rk-bundle[v2.2.0, v2.2.1].
- white-october/pagerfanta-bundle dev-master requires symfony/framework-bund
le >=2.2,<3.0 -> satisfiable by symfony/symfony[v2.2.0, v2.2.1], symfony/framewo
rk-bundle[v2.2.0, v2.2.1].
- Can only install one of: symfony/symfony[v2.2.0, v2.1.0].
- Can only install one of: symfony/symfony[v2.2.1, v2.1.0].
- don't install symfony/framework-bundle v2.2.0|don't install symfony/symfon
y v2.1.0
- don't install symfony/framework-bundle v2.2.1|don't install symfony/symfon
y v2.1.0
- Installation request for symfony/symfony 2.1.* -> satisfiable by symfony/s
ymfony[v2.1.0, v2.1.1, v2.1.10, v2.1.2, v2.1.3, v2.1.4, v2.1.5, v2.1.6, v2.1.7,
v2.1.8, v2.1.9].
- Installation request for white-october/pagerfanta-bundle dev-master -> sat
isfiable by white-october/pagerfanta-bundle[dev-master].
The critical part in here is the following:
[...]
white-october/pagerfanta-bundle dev-master requires symfony/framework-bundle >=2.2,<3.0 -> satisfiable by symfony/symfony[v2.2.0, v2.2.1], symfony/framework-bundle[v2.2.0, v2.2.1].
[...]
Which can lead to confusion! Let me explain:
Though it says the dependency is satisfiable by updating symfony/symfony to 2.2.0 or 2.2.1 ... this update is NOT NEEDED !! ( even if updating might be a good idea it is not necessary to resolve the issue and could lead to broken code because of BC [backward compatibility] breaks )
Attention:
Many bundles have a legacy branch ... for example a 2.1.x branch to support symfony/symfony 2.1.
Look for these branches on packagist prior to blindly updating your whole project to a new version of the root package!
Tip:
Generally if composer fails to fetch a dependency this is often related to the minimum stability for one of your required packages. minimum stability of all packages normally defaults to stable.
Solution:
smarttech used the wrong branch (dev-master) for white-october/pagerfanta-bundle to use it with symfony 2.1. The correct branch for 2.1 would have been:
"white-october/pagerfanta-bundle": "2.1.*@dev"
... where the @dev stability flag tells composer to use the dev version of doctrine-extensions-bundle for this single package. Please read more about composer's Stability Flags.
Take a quick look at the stability hierarchy:
dev < alpha < beta < rc < beta
Alternative:
Another way to solve the issue would have been setting composer's minimum stability.
Though this is not recommended as it applies to all constraints and as a result you will get unstable versions of all packages.
{
[...]
"require" :
[...]
"minimum-stability" : "dev",
[...]
}
这篇关于composer.json无法解析可安装的程序包集的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!