NPM node_modules结构每隔我运行一次"npm install"更改一次



我在Github中有两个带有package.json的私有存储库,其中一个存储库是另一个存储库的依赖项。

Repo_A
   |
   |__ Reop_B
    

在 package.json 中,我有Repo_A:

dependencies: {
   "Repo_B": "GithubUser/Repo_B"
}

我想在我的项目中使用Repo_A,所以我运行:

npm install GithubUser/Repo_A --save

此命令将同时安装 Repo_A 和 Repo_B但问题是Repo_A的,Repo_B嵌套(而不是平面(在我的主项目的node_molules文件夹中。

node_modules
           |
           |_Repo_A
                  |
                  |_ node_modules
                                |
                                |_Repo_B

在再次跑npm install Repo_A之后Repo_B这次node_mudules意志变得平淡无奇!

node_molules
           |
           |_Repo_A
           |
           |_Reop_B

再次运行npm install会让Repo_A和Repo_B再次嵌套!并且此事件每隔我运行一次npm install重复一次你有什么建议吗?

更新:

我的问题不是嵌套或平面依赖! 我的问题是每次我运行npm install时,我都会在平面和嵌套之间切换!

事实上,我以前也遇到过这个问题。目前,我在安装后使用npm dedupe以确保依赖项树尽可能平坦。

请注意,重复数据删除并不总是重复数据删除。

这可能令人不安,这就是为什么 npmjs 发布了一个完整的指南,其中解释了他们如何存储依赖项。

https://docs.npmjs.com/how-npm-works/npm3

但是,由于 B v1.0 已经是顶级 dep,因此我们无法将 B v2.0 作为顶级依赖项安装。 npm v3 通过默认为 npm v2 行为并将新的、不同的模块 B 版本依赖项嵌套在需要它的模块(在本例中为模块 C(下来处理此问题。

玩得愉快

最新更新