首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法通过Composer升级Yii2版本

无法通过Composer升级Yii2版本
EN

Stack Overflow用户
提问于 2020-01-08 16:05:29
回答 2查看 266关注 0票数 0

我正在尝试更新我的yii2-basic应用程序版本,因为我认为它与我的新XAMPP (PHP 7.4.1)不兼容。

我是这样做的:

代码语言:javascript
运行
复制
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

下面是它在命令窗口中的显示方式:

代码语言:javascript
运行
复制
./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.

我也尝试了以下几行,但都不起作用:

代码语言:javascript
运行
复制
composer require "yiisoft/yii2:2.0.14" --update-with-dependencies
composer require "yiisoft/yii2:~2.0.14"
EN

回答 2

Stack Overflow用户

发布于 2020-01-09 11:26:31

只需像这样更新您的composer.json:

代码语言:javascript
运行
复制
....
    "require": {
        "php": ">=5.6.0",
        "yiisoft/yii2": "~2.0.14",
....

    "require-dev": {
        "codeception/codeception": "*",

我们将Yii2的最低版本更改为2.0.14,并将YI2- codeception直接更改为codeception。

别忘了将您的bower和npm资产配置更新为新的composer配置。更新的配置如下所示。

代码语言:javascript
运行
复制
    "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-path“。

票数 0
EN

Stack Overflow用户

发布于 2020-01-09 12:42:47

我找到了解决方案。

我通过编辑composer.json文件来更新yii2应用程序,然后在命令行上运行composer update

然后,不知何故,它成功了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59641689

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档