【发布时间】: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 重新启动项目
标签: symfony composer-php symfony-3.1