使用 AWS EB cli 部署 laravel 5:UnexpectedValueException - 版本字符串无效

Deploying laravel 5 with AWS EB cli: UnexpectedValueException - Invalid version string

所以我正要部署一些更改,这是几个月来的第一次,我得到了这个错误:

  [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"
            },

但是呃......我该如何使字符串成为 "correct" 呢?我知道最新版本是 1.3,但我可以更改它吗? 运行 composer update 时不应该是自动的吗?

更改 "nikic/php-parser": "^1.2.2" 到 "nikic/php-parser": "1.*",

更新您正在使用的 Composer 版本。使用 ^ 运算符的功能已于 2014 年 12 月添加,所以现在每个人都应该已经获得了 Composer 的更新副本

composer self-update

这是防止不兼容问题的关键。请注意,Composer 仍在开发中,并且有一些 alpha 版本。使用它意味着还要定期更新它。