2016-02-06 3 views
1

Я скачал composer.phar с:Невозможно разобрать версия ограничение ~ хх: Invalid строка версии "~ хх"

curl -sS https://getcomposer.org/installer | php 

Затем я запускаю эту команду:

php composer.phar require mailgun/mailgun-php:~x.x 

Но я получил эту ошибку :

[UnexpectedValueException]
Невозможно разобрать версии ограничение ~ хх: Invalid строка версии "~ хх"

Поиск в Интернете, большинство ответов должно было обновить последнюю версию composer.phar. Но я просто скачал его. Если это так, как мне обновить? (Это на Mac OS X, версия 10.10.5)

+1

'x.x' не является версией. Используйте правильную [строку версии] (https://getcomposer.org/doc/articles/versions.md), например. '~ 1.8'. – Kontrollfreak

+0

@Kontrollfreak: Ваш комментарий сделал трюк. Если вы ответите, я соглашусь, что это был ответ. – EmilyJ

+0

Примите [Wouter's] (http://stackoverflow.com/a/35243417/2032498) ответ. Это в основном то же самое, гораздо более подробное :-) – Kontrollfreak

ответ

1

В вариантах ограничений x означает любое число. Итак, вы говорите any number.any number Другими словами: Просто получите случайный выпуск.

~1.2 средства >=1.2,<2.0. Формально: ~y.z означает >=y.z,<(y+1).0.

Что вы говорите, дайте мне хотя бы какое-либо освобождение, но ниже любого выпуска + 1. Это, конечно, не разрешимо. Если это так, это очень опасно, поскольку вы разрешаете все выпуски.

Таким образом, вам необходимо изменить ограничение на версию на что-то лучшее или более безопасное. Например, если вы хотите выпускать 1.x, используйте 1.x, 1.* или ~1.0. Если вам нужен релиз 1.x или любой выпуск 2.x, используйте 1.x|2.x или любой другой вариант, упомянутый ранее.

Для получения дополнительных сведений о ограничениях версии читайте Composer documentation. См. Также полезный version constraint tester, чтобы проверить ваши ограничения версий.

Смежные вопросы