Symfony 3.1 作曲家冲突
Posted
技术标签:
【中文标题】Symfony 3.1 作曲家冲突【英文标题】:Symfony 3.1 composer conflicts 【发布时间】:2021-10-27 23:30:27 【问题描述】:我正在恢复旧的 Symfony 项目。 无法“作曲家安装”。我试图对删除 composer.lock 的包进行更改,更改包的版本。错误正在成倍增加。 有没有办法解决这个冲突?
问题 1 - symfony/debug 被锁定到 dev-master 版本并且没有请求更新这个包。 - 只能安装其中之一:symfony/symfony[v3.1.0]、symfony/debug[dev-master]。 symfony/symfony 替换了 symfony/debug,因此不能与之共存。 - symfony/symfony 被锁定到 v3.1.0 版本并且没有请求更新这个包。
composer.json:
"name": "symfony/framework-standard-edition",
"license": "MIT",
"type": "project",
"description": "The \"Symfony Standard Edition\" distribution",
"autoload":
"psr-4": "": "src/" ,
"classmap": [ "app/AppKernel.php", "app/AppCache.php" ]
,
"autoload-dev":
"psr-4": "Tests\\": "tests/"
,
"require":
"php": ">=5.5.9",
"symfony/symfony": "3.1",
"twig/extensions": "^1.4",
"doctrine/orm": "^2.5",
"doctrine/doctrine-bundle": "^1.6",
"doctrine/doctrine-cache-bundle": "^1.2",
"doctrine/doctrine-migrations-bundle": "^1.2",
"symfony/swiftmailer-bundle": "^2.3",
"symfony/monolog-bundle": "^2.8",
"symfony/polyfill-apcu": "^1.0",
"symfony/debug": "3.2.x-dev",
"sensio/distribution-bundle": "^5.0",
"sensio/framework-extra-bundle": "^3.0.2",
"incenteev/composer-parameter-handler": "^2.0",
"liuggio/excelbundle": "^2.1",
"stof/doctrine-extensions-bundle": "1.2.*@dev",
"friendsofsymfony/user-bundle": "^2.0",
"friendsofsymfony/jsrouting-bundle": "^2.0",
"jms/serializer-bundle": "^1.1",
"yethee/enum-bundle": "^2.0",
"webit/eval-math": "^1.0",
"yavin/symfony-form-tree": "^1.0",
"knplabs/knp-snappy-bundle": "^1.4",
"friendsofsymfony/rest-bundle": "^2.1"
,
"require-dev":
"sensio/generator-bundle": "^3.0",
"symfony/phpunit-bridge": "^3.0"
,
"scripts":
"symfony-scripts": [
"Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::prepareDeploymentTarget"
],
"post-install-cmd": [
"@symfony-scripts"
],
"post-update-cmd": [
"@symfony-scripts"
]
,
"config":
"bin-dir": "bin",
"platform":
"php": "5.5.9"
,
"minimum-stability": "dev",
"extra":
"symfony-app-dir": "app",
"symfony-bin-dir": "bin",
"symfony-var-dir": "var",
"symfony-web-dir": "web",
"symfony-tests-dir": "tests",
"symfony-assets-install": "relative",
"incenteev-parameters":
"file": "app/config/parameters.yml"
,
"branch-alias":
"dev-master": "3.2-dev"
【问题讨论】:
删除“symfony/debug”行允许作曲家运行。正如它所说:“symfony/symfony 取代了 symfony/debug,因此不能与之共存。” 我试过了。它走得更远,但后来我遇到了很多看起来与这个包有关的错误。 这些通常非常棘手,尽管我很惊讶作曲家安装没有使用 composer.lock 文件。您是否尝试使用作曲家 1(而不是作曲家版本 2)?无论如何,最好创建一个新的 3.4 项目,然后尝试安装各种依赖项。生成的 composer.json 至少可以为您提供一个起点。 你第一次是如何安装这些包的?在 v3.1 中同时需要symfony/symfony
。 和 v3.2 中的symfony/debug
在任何时候都不应该工作。我看到了两种可能的选择:错误地删除错误,或者使用 Symfony 3.4 重新启动项目
【参考方案1】:
我不知道这个软件包版本是如何到达那里的。 我之前试图从packagist 中选择最接近的版本号 这次我选择了最简单的方法来解决这个问题:)。 当它最终运行时,我一直在逐个降级到 3.1.0。
【讨论】:
仅供参考,除非您确实有答案,否则请勿使用答案。如果合适,您可以发表评论,也可以使用其他信息更新原始问题。 请添加更多详细信息以扩展您的答案,例如工作代码或文档引用。以上是关于Symfony 3.1 作曲家冲突的主要内容,如果未能解决你的问题,请参考以下文章
如何使用相互依赖的作曲家同时安装 2 个 Symfony 包
当供应商在 Symfony 2.1 中不受作曲家管理时,在哪里注册自动加载?
在共享 2 个环境的机器上运行 Symfony 3.2 项目中的作曲家安装