Composer php composer why not没有帮助-为什么我不能安装此软件包

Composer php composer why not没有帮助-为什么我不能安装此软件包,composer-php,contao,Composer Php,Contao,我不能在contao项目中要求以下软件包 $ php composer.phar require -v con4gis/con4gis_forum Using version ^1.7 for con4gis/con4gis_forum ./composer.json has been updated Loading composer repositories with package information Updating dependencies (including require-de

我不能在contao项目中要求以下软件包

$ php composer.phar require -v con4gis/con4gis_forum
Using version ^1.7 for con4gis/con4gis_forum
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Dependency resolution completed in 0.026 seconds
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Conclusion: don't install con4gis/con4gis_forum v1.7.1
    - Installation request for con4gis/con4gis_forum ^1.7 -> satisfiable by con4gis/con4gis_forum[v1.7.0, v1.7.1].
    - con4gis/con4gis_forum v1.7.0 requires con4gis/con4gis_core ~1.7 -> satisfiable by con4gis/con4gis_core[v1.7.0, v1.7.1].
    - con4gis/con4gis_core v1.7.0 requires menatwork/contao-multicolumnwizard 3.3.8 -> satisfiable by menatwork/contao-multicolumnwizard[3.3.8].
    - con4gis/con4gis_core v1.7.1 requires menatwork/contao-multicolumnwizard 3.3.8 -> satisfiable by menatwork/contao-multicolumnwizard[3.3.8].
    - Conclusion: don't install menatwork/contao-multicolumnwizard 3.3.8


$ php composer.phar why-not menatwork/contao-multicolumnwizard
contao-legacy/semantic_html5      1.1.7.9014    requires  contao-legacy/multicolumnwizard (>=3.0.0,<4.0.0-dev)  
metamodels/attribute_alias        2.0.0-alpha2  requires  menatwork/contao-multicolumnwizard (~3.3)             
metamodels/core                   2.0.0-alpha9  requires  menatwork/contao-multicolumnwizard (~3.3)             
psi/news4ward                     2.2.3         requires  menatwork/contao-multicolumnwizard (~3)               
terminal42/contao-changelanguage  3.1.0         requires  menatwork/contao-multicolumnwizard (^3.3)     

composer.json
复制到本地文件,从其中删除
工件
存储库,然后运行
composer安装
,结果会出现一条消息,显示找不到
legacy/survey_ce 3.0.2.9003
。但是,据报道,
3.0.2.9005
是可用的,所以我继续

再次运行
composer安装
会产生一组可解析的依赖项。再次运行
composer require
命令会产生与您收到的相同的错误消息。我想我现在也在同一个地方

运行
composer show
列出所有已安装的软件包,会发现有问题的软件包已安装在版本3.3.10中

menatwork/contao-multicolumnwizard               3.3.10             MultiColumWizard for Contao OpenSource CMS
这就解释了为什么不能安装依赖项,因为Composer通常不会对已经安装的包进行降级。然而,它给出的提示并不能真正解释正在发生的事情

正如我在评论中提到的,您应该尝试立即彻底检查您的依赖关系:

  • 您依赖于固定版本。检查是否可以放宽版本号以允许兼容的更新。如果库作者声明他们支持语义版本控制,这是最简单的,如果他们声明他们明确不支持语义版本控制,如果他们还声明如何获取补丁,这也是很容易的
  • 您取决于
    dev master
    版本。根据分支的不同,您的项目会在某个时候中断!检查您正在使用的库是否已发布标记版本。检查当前引用的最接近的版本。将依赖项从
    dev master
    更改为该版本(包括第一点中讨论的兼容更新),然后查看项目是否仍然有效
  • 您还依赖于放弃的版本。您应该将依赖项升级到所引用的包-但是这并不能保证是一个轻松的转换,可能需要进行一些更改。但这将有助于减少所涉及的软件包数量,因为许多
    contao遗留
    lib似乎是以
    menatwork
    的形式重新发布的,并且确实得到了更新。这些库应该可以切换

  • 我们也能看到
    composer.json
    吗?@Peh我在上面添加了它,这看起来很奇怪。但是,您可以将一些
    contao遗留
    需求更改为其本机软件包(例如
    semantic\u html5
    rocksolid列
    )。您取决于
    dev master
    版本。2.您依赖于固定版本。3.您依赖于废弃的版本。但是,将其复制到本地文件并运行
    composer update
    首先导致投诉第一个存储库不可用,删除后,composer投诉无法安装
    contao legacy/survey_ce 3.0.2.9003
    ,因为该版本不存在。对固定的
    menatwork/contao多列向导
    版本的依赖关系来自
    Kuestenschmiede/con4gis\u core
    。我在这里报告过:到目前为止,它只在开发部门进行了更改。太棒了,谢谢你的服务,另外@fritzmg-我想我们还应该向composer提出一个关于提供更好消息的请求?获得关于解决依赖关系的更好消息并不容易,因为基本上你只能判断它们是否可以解决-调查失败的原因很难向用户解释,因为可能有很多因素。然而,我准备了一个应该可以实现的特性请求,因为它基于现有的知识:让我们看看维护人员是否可以对此做些什么。
    menatwork/contao-multicolumnwizard               3.3.10             MultiColumWizard for Contao OpenSource CMS