作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
将 PHP 从 7.4 更新到 8.0 后,我在现有项目上运行 composer update
,得到如下错误:
- acme/some-package[1.0.0, ..., 1.4.0] requires php ^5.6.4 || ^7.0 -> your php version (8.0.3) does not satisfy that requirement.
最佳答案
问题
除了它们需要的其他包的版本之外,Composer 包还可以指定它们支持的 PHP 版本。
在解析要安装的软件包版本时,Composer 必须找到与所有约束条件匹配的版本:
composer.json
^7.0
的约束意味着“7.0以上的任何7.x版本”,不包括8.0。
acme/some-package
)并在 Packagist(或您配置的任何自定义包源)上找到它。 composer.json
和您依赖的其他软件包不要排除该新版本。例如,如果您当前依赖 acme/some-package
版本 ^1.0
,但 PHP 8.0 仅从 2.2.0 版本开始支持,您需要将约束更改为 ^2.2
,并确保您的应用程序仍然兼容。 platform
中使用
the composer.json
configuration variable 来假装您仍在使用旧版本。
这应该仅作为临时解决方法或用于测试 来完成,因为这意味着将安装可能在您的新 PHP 版本上完全损坏的软件包。
{
"config": {
"platform": {
"php": "7.4.999"
}
}
}
另见“
Override PHP base dependency in composer”
关于php - 引用 - 升级 PHP 后 Composer 错误 "Your PHP version does not satisfy requirements",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66368196/
我是一名优秀的程序员,十分优秀!