在我的本地机器上,我有php v7.0.3,我的一个项目依赖于php v5.5。
因此,正如预期的那样,简单运行composer install
会崩溃:
Your requirements could not be resolved to an installable set of packages.
Problem 1
- This package requires php ~5.5 but your PHP version (7.0.3) does not satisfy that requirement.
我知道我可以通过以下方式忽略平台:
composer install --ignore-platform-reqs
然而我经常忘记添加标志。然而由于应用程序在Docker容器内运行,不匹配的PHP也可以很好地安装依赖项。
因此,我想知道是否有一种方法可以使我的本地 composer 总是假设--ignore-platform-reqs
,以便不必键入它。
我喜欢避免设置别名,让它在 composer 配置级别上工作。
5条答案
按热度按时间vcudknz31#
建议伪造php版本,而不是忽略平台要求. Add
添加到您的
~/.composer/config.json
或使用composer config -g -e
进行编辑。一个例子,充分的配置伪造php版本:
不过,它可能有更多的选择。
**更新:**从v2.3.0开始,您可以使用环境变量。请参见Yakatz' answer
nle07wnf2#
Composer v2中的一项新功能允许您选择性地忽略平台要求。
第一个月
Composer已经有了一个
--ignore-platform-reqs
选项(注意reqs
中的s),但是它忽略了所有的平台要求,包括PHP版本、扩展(ext-*)
和composer-plugin-API。新的
--ignore-platform-req
选项可用于设置Composer可以忽略的特定要求。oo7oh9g93#
您可以将
alias composer="composer --ignore-platform-reqs"
添加到您的.bash_profile
,但它会中断不识别此选项的命令(例如composer outdated
)。我个人有:
因为大多数情况下我需要
--ignore-platform-reqs
,但每次看到时仍然可以使用composer_orig
[Symfony\组件\控制台\异常\运行时异常]
“--ignore-platform-reqs”选项不存在。
zour9fqk4#
Composer现在支持(从2.3.0版开始)检查环境变量以设置
--ignore-platform-reqs
。创建一个环境变量
COMPOSER_IGNORE_PLATFORM_REQS=1
以忽略全部,或创建一个环境变量COMPOSER_IGNORE_PLATFORM_REQ=something
以忽略something
作为要求。fhg3lkii5#
在Windows上,更新composer.bat(位于C:\ProgramData\ComposerSetup\bin下)并将
--ignore-platform-reqs
添加到编写器命令。要更新,您可以以管理员身份打开文本编辑器〉Ctrl + O〉打开composer.bat
如果您不想对所有项目进行全局更改,请创建一个新的.bat文件,并在PHPSorm〉Settings〉composer中使用它