предупреждение композитора: ограничение версии не имеет верхней границы - PullRequest
0 голосов
/ 10 декабря 2018

У меня под моим 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.
(Чтобы определить верхнюю границу для моих ограничений).

Ответы [ 3 ]

0 голосов
/ 10 декабря 2018

Любая идея, как автоматически обновить (* вручную) "*" до текущей установленной версии, используя только некоторые полезные командные строки композитора.

Нет такой команды композитора, как composer set-version symfony/* 4.2

Вам нужно сделать это вручную.

Как "найти и заменить""*""^4.2" в *.json файлах работали для вас?


Я предполагаю, что вы хотите использовать новейшую версию Symfony - 4.2 на данный момент.Если вы хотите использовать установленную версию, просто наберите: composer show symfony/asset, чтобы найти версию.


Кстати, не беспокойтесь.Вы должны делать это только один раз в ~ 2 года:)

0 голосов
/ 10 декабря 2018

Возможно, вам не хватает раздела extra в вашем composer.json, который определяет, какую версию Symfony использовать для зависимостей.Они изменили его для 4.x, чтобы не каждый пакет использовал ограничение версии, поэтому проще обновить всю платформу до другой версии, но в то же время сохранить все компоненты Symfony в одной версии.

Попробуйте добавитьэто в файл composer.json и работает composer update:

"extra": {
    "symfony": {
        "require": "^4.2"
    }
}

Редактировать: Извините, упустил из виду, что вы используете composer validate.Очевидно, это не учитывает определение extra, которое на самом деле является лишь подсказкой для плагина Flex Composer, поэтому оно не распознается самим Composer.

0 голосов
/ 10 декабря 2018

Вы можете использовать следующую команду, чтобы обновить ее до последних версий

composer update

Но рекомендую иметь пакеты с определенной версией вместо "*", чтобы избежать конфликта с будущими пакетами

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...