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

时间:2018-02-15 17:40:53

标签: php composer-php 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"

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

2 个答案:

答案 0 :(得分:11)

执行which composer将为您提供此输出:

/usr/local/bin/composer

Homestead documentation讨论了支持的multiple PHP versions以及如何从Artisan的命令行调用它们。将其与上面的作曲家路径相结合,可以实现以下目的:

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

答案 1 :(得分:5)

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