在 Homestead 上调用具有特定 PHP 版本的 Composer

Calling Composer With Specific PHP Version on Homestead

我正在使用 Homestead 开发一个站点,该站点将位于 PHP 7.0 的服务器上。我想使用 .env 个文件,所以我 运行 这个 Composer 命令:

composer require vlucas/phpdotenv

当我细读文件 composer.lock 时,我注意到依赖项 doctrine/annotations 需要 PHP 7.1.

我尝试将其添加到我的 composer.json 文件中:

"config": {
    "platform": {
        "php": "~7.0"
    }
},

当我 运行 composer update 时,我得到这个错误:

[UnexpectedValueException]
Invalid version string "~7.0"

我意识到这是因为 PHP7.2 是 Homestead 上的默认版本。我如何 运行 Composer 使用 PHP 7.0 而不是 PHP 7.2?

执行 which composer 将得到以下输出:

/usr/local/bin/composer

支持的 Homestead documentation discusses the multiple PHP versions 以及如何从 Artisan 命令行调用它们。将它与上面的作曲家路径结合起来可以让你这样做:

php7.0 /usr/local/bin/composer update

运行 命令php70 将PHP 7.0 设置为PHP 的默认系统版本,然后您可以运行 composer 正常。