在 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
正常。
我正在使用 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
正常。