所以我正要部署在一些個月以來首次一些變化,我得到這個錯誤回:部署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