gpt4 book ai didi

symfony - Composer ,最小稳定性和依赖关系的依赖关系

转载 作者:行者123 更新时间:2023-12-04 10:26:51 25 4
gpt4 key购买 nike

我对一个新项目和使用composer的Symfony 2依赖项感到非常不满。

首先,我使用composer安装symfony/framework-standard-edition v2.1.5。这将产生一个具有这些要求并且没有最低稳定性节点的作曲者文件。

"require": {
"php": ">=5.3.3",
"symfony/symfony": "2.1.*",
"doctrine/orm": ">=2.2.3,<2.4-dev",
"doctrine/doctrine-bundle": "1.0.*",
"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"
},

这可以正常工作,它会按预期方式安装所有最新的稳定版本。

接下来,我添加一个包-> https://packagist.org/packages/kunstmaan/admin-bundle
"require": {
"php": ">=5.3.3",
"symfony/symfony": "2.1.*",
"doctrine/orm": ">=2.2.3,<2.4-dev",
"doctrine/doctrine-bundle": "1.0.*",
"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",
"kunstmaan/admin-bundle": "dev-master"
},

该捆绑包取决于“dev-master”( https://packagist.org/packages/doctrine/doctrine-fixtures-bundle)中的“doctrine/doctrine-fixtures-bundle”

并且该捆绑包取决于带有*( https://packagist.org/packages/doctrine/data-fixtures)的学说/数据夹具

现在,当我在项目中运行composer update时,它告诉我没有什么可以满足教义/数据夹具的依赖性。名称中有错字,或者因为最小稳定性默认为稳定,所以没有可用的“稳定”版本。

它确实希望以“dev”的稳定性安装doctrine-fixtures-bundle,因为将dev-master自动置于“dev”的稳定性中。但这对于该部门的部门没有任何帮助,他们一直希望安装稳定,因为这是我的最低稳定性。

现在,我可以通过在项目中的composer.json中添加doctrine/data-fixtures:dev-master或@dev来解决此问题。

但是,由于这只是一个示例(knpmenubundle,fosuserbundle等),因此我将不得不手动将未安装的所有dep部门添加到我自己的 Composer 文件中。

另一个解决方案是将我的项目的最低稳定性降低到开发人员,但那时我所有的部门,包括Symfony2之类的稳定部门,都将安装其开发版本,而不安装标记的发行版。

最佳答案

仅有的一种好方法是:na人,以便他们标记更多的发行版本。如果您确实需要处理不稳定的内容,则将其全部列入白名单,并要求使用"@dev"是最好的替代IMO。如果不稳定多于稳定,那么您始终可以标记@stable并将最小稳定度设置为dev。在大多数情况下,仍然有锁定文件可以保存您的屁股;)

关于symfony - Composer ,最小稳定性和依赖关系的依赖关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13970311/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com