【问题标题】:Can npm-update and npm-install give different result?npm-update 和 npm-install 可以给出不同的结果吗?
【发布时间】:2018-09-11 20:18:23
【问题描述】:

假设我们有 3 个具有以下依赖项的包:

C -> B@^1.0.0 和 B -> A@^1.0.0

(模块 C 依赖于模块 B 版本 1.0.0 及更高版本;模块 B 依赖于模块 A 版本 1.0.0 及以上;)

现在我正在执行以下步骤:

  1. 模块 C 中的 npm-install(结果:node_modules 包含 A@^1.0.0 和 B@^1.0.0)
  2. 模块A高版本的npm-publish:A@^1.0.1
  3. 模块 C 中的 npm-update(结果:node_modules 包含 A@^1.0.0 和 B@^1.0.0)--- 模块未更改!

但是,如果我要清理 node_modules 然后再次 npm-install 模块 C,我会得到 node_modules 包含 A@^1.0.1 和 B@^1.0.0

  • 有什么方法可以在不删除并重新安装的情况下获得完整更新的 node_modules?
  • 如果不是,我管理依赖项的方式有什么问题?我不想显式添加所有依赖树,所以 node-update 将起作用

【问题讨论】:

    标签: npm npm-install npm-update


    【解决方案1】:

    npm update 尊重语义版本控制,如果您有 ^ 依赖项,它不会更新软件包的主要版本。

    ^ 在依赖项上的字面意思是只能更新到次要版本 - 因为主要版本包含重大更改。

    此命令会将列出的所有包更新到最新版本(由标签配置指定),尊重 semver。

    来自the docs

    【讨论】:

    • 我们相应地解决了这个问题。这里的重点是我们的子依赖没有在根应用程序中更新(直接依赖是)
    猜你喜欢
    • 1970-01-01
    • 2016-11-14
    • 1970-01-01
    • 2018-01-28
    • 2018-02-26
    • 2017-03-24
    • 1970-01-01
    • 2016-10-31
    • 2016-06-01
    相关资源
    最近更新 更多