首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我不能安装这个软件包?

为什么我不能安装这个软件包?
EN

Stack Overflow用户
提问于 2017-03-15 10:58:19
回答 1查看 4.4K关注 0票数 2

我不能要求以下软件包在一个控制项目。

代码语言:javascript
复制
$ 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)     

我检查了为什么不打印的所有要求,并且3.3.8已经是绿色的,即满足于https://semver.mwl.be/#?package=menatwork%2Fcontao-multicolumnwizard&version=%5E3.3&minimum-stability=stable

怎么一回事?

删除composer.lock也没有帮助。

作曲家版本是最新稳定的。

Composer.json

代码语言:javascript
复制
{
    "name": "local/website",
    "description": "A local website project",
    "type": "project",
    "license": "proprietary",
    "require": {
    "cgo-it/news4ward-rateit": "dev-master",
    "contao-legacy/ce_page_teaser": "~1.5",
    "contao-legacy/efg": ">=2.2.1.9005,<2.3-dev",
    "contao-legacy/om_searchkeys": "~1.0",
    "contao-legacy/rocksolid-columns": ">=1.0.6.9006,<1.1-dev",
    "contao-legacy/semantic_html5": ">=1.1.7.9014,<1.2-dev",
    "contao-legacy/survey_ce": "3.0.2.9003",
    "imi/imi_mm_changelanguage": "*",
    "jakeasmith/http_build_url": "^1",
    "madeyourday/contao-rocksolid-columns": ">=1.0.7.0,<1.1-dev",
    "metamodels/bundle_all": "dev-master",
    "phpoffice/phpexcel": "dev-master",
    "psi/news4ward": ">=2.2.3.0,<2.3-dev",
    "psi/news4ward_archive-menu": "2.0.8",
    "psi/news4ward_author-menu": "2.0.2",
    "psi/news4ward_comments": "2.1.0",
    "psi/news4ward_metatitle": "dev-master#d2c09fb47441c05011ddcc5b08e54aae138a8ab7",
    "psi/news4ward_mostread": "2.1.0",
    "psi/news4ward_multicategories": "1.0.5",
    "psi/news4ward_related": "2.1.0",
    "psi/news4ward_tags": "2.1.1",
    "contao-community-alliance/dc-general": "^2.0.0-beta32",
    "querypath/QueryPath": "^3.0",
    "terminal42/contao-changelanguage": "^3.1",
    "contao-community-alliance/composer-client": "~0.14",
    "delahaye/dlh_googlemaps": "^2.2",
    "contao-legacy/inputvar": "1.1.1.9048"
    },
    "prefer-stable": true,
    "minimum-stability": "dev",
    "config": {
    "preferred-install": "dist",
    "cache-dir": "cache",
    "component-dir": "../assets/components"
    },
    "repositories": [
    {
        "type": "artifact",
        "url": "packages"
    },
    {
        "type": "composer",
        "url": "https://legacy-packages-via.contao-community-alliance.org/"
    }
    ],
    "extra": {
    "contao": {
        "migrated": "done"
    }
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-15 17:54:49

composer.json复制到本地文件,从其中移除artifact存储库,并运行composer install将导致无法找到legacy/survey_ce 3.0.2.9003的消息。然而,据报道,3.0.2.9005是可用的,所以我继续这样做。

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

运行composer show来列出所有已安装的包,就会发现这个错误的包已经安装在3.3.10版本中。

代码语言:javascript
复制
menatwork/contao-multicolumnwizard               3.3.10             MultiColumWizard for Contao OpenSource CMS

这解释了为什么不能安装依赖项,因为Composer通常不会降低已经安装的包的等级。然而,给出的暗示并没有真正解释到底发生了什么。

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

  1. 您依赖的是固定版本。检查是否可以放宽版本号以允许进行兼容的更新。如果库作者声明他们支持语义版本控制,那么这是最简单的,如果他们还声明了如何获得补丁,那么他们也很容易明确表示不支持它。
  2. 您依赖于dev-master版本。依赖于分支会在某个时候破坏您的项目!检查正在使用的库是否发布了标记版本。检查当前引用的最接近的版本。将依赖关系从dev-master更改为该版本(包括第一点讨论的兼容更新),并查看项目是否仍然工作。
  3. 您还依赖于废弃的版本。您应该将依赖项升级到引用的包中--但是这并不一定是一个轻松的转换,可能需要进行一些更改。但是这将有助于减少包的数量,因为看起来许多contao-legacy库都是以menatwork的形式重新发布的,并且确实会得到更新。而这些图书馆应该能够被转换。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42807797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档