【问题标题】:PHP composer generate composer.lock file from packages already installed in venderPHP composer 从供应商中已安装的包生成 composer.lock 文件
【发布时间】:2020-07-30 08:22:44
【问题描述】:

我继承了一个遗留代码库,以前的开发人员没有将composer.lock 文件提交给版本控制,而是提交了vendor 中的所有包。我知道。

我有composer.json,但它似乎不完整,因为它只有require-dev。这是完整的composer.json

{
    "require-dev": {
        "phpunit/phpunit": "4.3.*",
        "squizlabs/php_codesniffer": "1.*",
        "phpdocumentor/phpdocumentor": "2.*"
    }
}

composer 是否可以从供应商中已安装的包生成 composer.lock 文件而不更新这些包?当我运行composer install 时,会创建一个锁定文件,但软件包会更新到它们的最新版本,而不是维护已安装的版本。

【问题讨论】:

  • Composer 中没有这样的功能,也没有插件可以做到这一点。您在存储库中有文件vendor/composer/installed.json 吗?这将是在composer.json 中重新创建require 的最佳方式。

标签: php composer-php


【解决方案1】:

run composer update --lock 只会更新锁定文件哈希,以抑制有关锁定文件已过期的警告,而无需升级您的软件包。

参考:https://getcomposer.org/doc/03-cli.md#update-u

【讨论】:

    猜你喜欢
    • 2014-12-08
    • 2019-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-04
    • 1970-01-01
    • 2019-12-25
    相关资源
    最近更新 更多