1

假设我们有 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 module C 再次,我得到 node_modules 包含A@^1.0.1和 B@^1.0.0

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

1 回答 1

0

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

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

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

文档

于 2018-04-02T18:04:18.560 回答