yii2 - 无法通过 Composer 升级 Yii2 版本
问题描述
我正在尝试更新我的 yii2-basic 应用程序版本,因为我认为它与我的新 XAMPP (PHP 7.4.1) 不兼容。
我是这样做的:
composer self-update
composer global require "fxp/composer-asset-plugin:^1.4.1" --no-plugins
composer require "yiisoft/yii2:~2.0.14" --update-with-dependencies
这是它在命令窗口中的显示方式:
./composer.json has been updated
The "extra.asset-installer-paths" option is deprecated, use the "config.fxp-asset.installer-paths" option
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Conclusion: remove phpunit/phpunit 5.7.x-dev
- Conclusion: remove sebastian/recursion-context 3.0.x-dev
- Installation request for phpunit/phpunit (locked at 5.7.x-dev) -> satisfiable by phpunit/phpunit[5.7.x-dev].
- Conclusion: don't install sebastian/recursion-context 3.0.x-dev
- phpunit/phpunit 5.7.x-dev requires sebastian/object-enumerator ~2.0 -> satisfiable by sebastian/object-enumerator[2.0.0, 2.0.1, 2.0.x-dev].
- sebastian/object-enumerator 2.0.0 requires sebastian/recursion-context ~2.0 -> satisfiable by sebastian/recursion-context[2.0.0, 2.0.x-dev].
- sebastian/object-enumerator 2.0.1 requires sebastian/recursion-context ~2.0 -> satisfiable by sebastian/recursion-context[2.0.0, 2.0.x-dev].
- sebastian/object-enumerator 2.0.x-dev requires sebastian/recursion-context ^2.0 -> satisfiable by sebastian/recursion-context[2.0.0, 2.0.x-dev].
- Can only install one of: sebastian/recursion-context[2.0.0, 3.0.x-dev].
- Can only install one of: sebastian/recursion-context[2.0.x-dev, 3.0.x-dev].
- Installation request for sebastian/recursion-context (locked at 3.0.x-dev) -> satisfiable by sebastian/recursion-context[3.0.x-dev].
Installation failed, reverting ./composer.json to its original content.
我也尝试了这些行,但没有一个行得通:
composer require "yiisoft/yii2:2.0.14" --update-with-dependencies
composer require "yiisoft/yii2:~2.0.14"
解决方案
只需像这样更新您的 composer.json :
....
"require": {
"php": ">=5.6.0",
"yiisoft/yii2": "~2.0.14",
....
"require-dev": {
"codeception/codeception": "*",
我们将 Yii2 的最低版本在 2.0.14 和 yii2-codeception 直接更改为 codeception。
并且不要忘记将 bower 和 npm 资产配置更新为更新的 composer 配置。较新的配置如下所示。
"config": {
"vendor-dir": "vendor",
"process-timeout": 1800,
"fxp-asset":{
"installer-paths": {
"npm-asset-library": "_protected/vendor/npm",
"bower-asset-library": "_protected/vendor/bower"
}
}
},
并删除“extra”参数中的“asset-installer-paths”。
推荐阅读
- css - 为什么我的 css 卡在不同的位置高度
- python - 如何使用此公式计算购买的每月付款?
- openstack - 在端口创建中是否可以有“条件”?
- python-3.x - 如何使用 Python 通过 IBAPI 从 TWS 导入基础数据
- python - Python - 抓取网页以获取仅在滚动后出现的信息
- go - 如何将当前时间格式化为 YYYY-MM-DDTHH:MM:SSZ
- grouping - Dask:具有 nlargest 的 Groupby 自动引入索引并且不允许 reset_index()
- python - 如何判断函数来自哪个模块?
- memory - 在页面替换中将地址序列转换为引用字符串
- laravel - 如何使这个增量代码在 laravel 命令文件计划中工作