无法解析版本约束~xx:版本字符串“~xx”无效

Emi*_*lyJ 2 composer-php

我下载了 composer.phar :

curl -sS https://getcomposer.org/installer | php
Run Code Online (Sandbox Code Playgroud)

然后我运行这个命令:

php composer.phar require mailgun/mailgun-php:~x.x
Run Code Online (Sandbox Code Playgroud)

但我收到了这个错误:

[UnexpectedValueException]
无法解析版本约束~xx:版本字符串“~xx”无效

在互联网上搜索,大多数响应是更新最新的 composer.phar。但是我刚刚下载了。如果是这样,我该如何更新?(这是在 Mac OS X 10.10.5 版上)

Wou*_*r J 5

在版本约束中,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 文档。另请参阅有用的版本约束测试器来测试您的版本约束。