所以我正要部署在一些个月以来首次一些变化,我得到这个错误回:部署laravel 5 AWS EB CLI:UnexpectedValueException - 无效的版本字符串
[UnexpectedValueException]
Could not parse version constraint ^1.2.2: Invalid version string "^1.2.2"
一些挖后,我发现在我的composer.lock文件中的行:
{
"_readme": [
...
],
"hash": "NotTellingYou",
"packages": [
{
...
},
....
"require": {
"nikic/php-parser": "^1.2.2",
"php": ">=5.3.3",
"symfony/console": "~2.1",
"symfony/filesystem": "~2.1",
"symfony/finder": "~2.1"
},
但ehhh ......如何使字符串“正确”的呢?我知道最新版本是1.3,但我可以改变它吗?运行composer update
时不应该是自动的吗?
工作就像一个魅力。我手动将主要composer.lock中包含“^”的每个实例重新编写为“x。*”,然后再次运行。谢谢! – MartinJH
这是不一样的版本。原本想使用AT LEAST 1.2.2版,并允许兼容更新。您的替换允许每种版本的1.x类型,而不检查1.1或1.0是否具有软件所需的所有功能。现在这不是问题,但是一旦安装了需要较低版本的PHP解析器的第三个包,它就会成为问题。至少你可以使用正确的替换:'〜1.2,> = 1.2.2'。 – Sven
啊,好吧。下次会这样做。我认为最新版本会一直向后工作,只要它不是一个重大变化,例如1.2 - > 2.0 – MartinJH