首页 > 解决方案 > 作曲家警告:版本约束没有上限

问题描述

我的composer.json下有这个包列表:

    "symfony/asset": "*",
    "symfony/console": "*",
    "symfony/expression-language": "*",
    "symfony/flex": "^1.1", // ther's no warning here
    "symfony/form": "*",
    "symfony/framework-bundle": "*",
    "symfony/orm-pack": "*",
    "symfony/process": "*",
    "symfony/security-bundle": "*",
    "symfony/serializer-pack": "*",
    "symfony/translation": "*",
    "symfony/twig-bundle": "*",
    "symfony/validator": "*",
    "symfony/web-link": "*",
    "symfony/yaml": "*",

不幸的是,在尝试通过验证作曲家依赖项后,composer validate 我收到了以下警告:

应避免未绑定的版本约束 (*)。

版本约束没有上限——这不是一个好主意。

我在官方文档https://getcomposer.org/doc/faqs/why-are-unbound-version-constraints-a-bad-idea.md下找到了原因,但我不知道如何解决警告。


任何想法如何通过一些有用的命令行自动(或者手动)更新"*"到当前安装的版本。(定义我的约束的上限)。composer

标签: symfonycomposer-php

解决方案


任何想法如何通过一些有用的作曲家命令行自动(或者手动)更新“*”到当前安装的版本。

没有类似的作曲家命令composer set-version symfony/* 4.2

您需要手动执行此操作。

文件中的“查找和替换” "*""^4.2"是如何*.json为您工作的?


我假设你现在想使用最新的 Symfony 版本 - 4.2。如果您想使用已安装composer show symfony/asset的版本,只需运行:查找版本。


顺便说一句,别担心。您必须每 2 年只做一次 :)


推荐阅读