如何在NPM中禁用对等依赖项的自动安装?

wtlkbnrh  于 2022-11-14  发布在  其他
关注(0)|答案(1)|浏览(200)

在NPM 7中,对等依赖项现在会自动安装。如何禁用此行为?

内容

我有一个Angular NX Monorepo,我只想在根目录下安装一个Angular副本,我还想在“my-app”内安装库。该库将Angular作为对等依赖项。使用NPM 6时,Angular只安装在根节点模块,因为对等依赖项不会自动安装。但使用NPM 7时,Angular也安装在“my-app”的节点模块内
项目结构:

apps:
  my-app:
    node_modules: 
      @angular
    package.json
node_modules:
  @angular
package.json

正如你在上面的结构中所看到的,两个Angular的副本正在被安装。对于NPM 6,我将只有一个副本,在根级别。

uhry853o

uhry853o1#

在做了我的研究之后,我发现这样的依赖项被推荐安装在项目的根目录中。
但如果确实需要禁用自动对等依赖项安装,则可以在不希望安装对等依赖项的包中创建一个.npmrc文件,并指定

omit = peer

这将告诉NPM您不想自动安装对等依赖项。
来源:https://docs.npmjs.com/cli/v8/using-npm/config#omit

相关问题