1

我找到了一个我想在我的项目中使用的 Symfony 组件,但它仅在 5.2 版之后才可用,并且我所有的 Symfony 元素目前都在 5.1.10 版中。

我阅读了以下链接:

但是我没有找到如何将我当前的所有 5.1.10 版本元素升级到 5.2。

我试图composer.json用 '5.2.*' 手动替换我的所有 '5.1.*' 出现,然后运行composer update,但它不起作用并引发以下错误:

    Your requirements could not be resolved to an installable set of packages.
Problem 1
    - The requested package symfony/symfony 5.2.* exists as symfony/symfony[5.1.x-dev, v5.1.0, v5.1.0-BETA1, v5.1.0-RC1, v5.1.0-RC2, v5.1.1, v5.1.10, v5.1.2, v5.1.3, v5.1.4, v5.1.5, v5.1.6, v5.1.7, v5.1.8, v5.1.9] but these are rejected by your constraint.
  Problem 2
    - symfony/framework-bundle v5.2.1 requires symfony/cache ^5.2 -> no matching package found.
    - symfony/framework-bundle v5.2.0 requires symfony/cache ^5.2 -> no matching package found.
    - Installation request for symfony/framework-bundle 5.2.* -> satisfiable by symfony/framework-bundle[v5.2.0, v5.2.1].
4

1 回答 1

1

我你想升级一个次要版本,例如从 5.1 到 5.2 你可以按照这个文档

要升级到新的次要版本,您可能需要更新每个启动 symfony/ 的库旁边的版本约束。假设你正在从 Symfony 4.3 升级到 4.4:

{
    "...": "...",

    "require": {
-         "symfony/cache": "4.3.*",
+         "symfony/cache": "4.4.*",
-         "symfony/config": "4.3.*",
+         "symfony/config": "4.4.*",
-         "symfony/console": "4.3.*",
+         "symfony/console": "4.4.*",
        "...": "...",

        "...": "A few libraries starting with
                symfony/ follow their versioning scheme. You
                do not need to update these versions: you can
                upgrade them independently whenever you want",
        "symfony/monolog-bundle": "^3.5",
    },
    "...": "...",
}

您的composer.json文件还应该有一个extra您还需要更新的块:

"extra": {
    "symfony": {
        "...": "...",
-         "require": "4.3.*"
+         "require": "4.4.*"
    }
}

之后,您可以使用以下命令更新依赖项:

composer update
于 2021-01-22T15:50:37.163 回答