【问题标题】:Update composer dependencies in json file on updating在更新时更新 json 文件中的作曲家依赖项
【发布时间】:2019-03-06 17:35:42
【问题描述】:

当我运行 composer update 时,很多依赖项和我的 composer.json 都会更新。但是,我的composer.json 没有改变,所以下次我运行composer install 时,我会再次获取过时的。

例如,我有:

"require": {
        "symfony/form": "^4.1",
}

当我运行命令时它显示:

更新 symfony/dotenv (v4.1.4 => v4.1.5):从缓存加载

但 json 行保持不变,composer install 将安装 4.1.4 版本。

有没有办法在我运行 composer update 时更新 composer.json 文件?

提前致谢!

【问题讨论】:

    标签: composer-php


    【解决方案1】:

    执行composer update 后,您应该有一个composer.lock 文件。您将此文件提交给版本控制,然后下一个检查代码的人可以执行composer install 以获得正确的版本。

    composer.json 文件包含版本限制,而composer.lock 文件包含特定版本。

    看看你的例子:

    "require": {
            "symfony/form": "^4.1",
    }
    

    这里symfony/form 包的版本约束是^4.1。这意味着它将接受来自4.1 的任何版本 4 构建,但不接受版本 5 或更高版本。所以它可以获得版本4.1.1,或4.2.13或更高版本(但低于版本5)。

    https://getcomposer.org/doc/articles/versions.md#caret-version-range-

    这里是关于锁定文件的文档 https://getcomposer.org/doc/02-libraries.md#lock-file

    【讨论】:

    • 谢谢!我虽然 composer.json 也包含特定版本
    猜你喜欢
    • 1970-01-01
    • 2016-09-23
    • 2013-05-30
    • 2019-12-02
    • 1970-01-01
    • 2016-12-30
    • 1970-01-01
    • 1970-01-01
    • 2019-04-05
    相关资源
    最近更新 更多