本文介绍了为什么NPM 7.17不安装我的对等依赖项的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个main项目,它依赖于本地文件存储中的包package1package1对等方依赖Express:

{
  "name": "package1",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo "Error: no test specified" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "peerDependencies": {
    "express": "^4.17.1"
  }
}

在我做的主项目文件夹中

npm install ../packages/package1

使用[email protected]时,如预期的那样,它将Package1作为链接安装在主项目的node_MODULES中。它还警告我缺少对等依赖项--不出所料。

现在我使用[email protected]来执行相同的任务。带--legacy-peer-deps选项或不带选项。它将Package1作为链接安装在主项目的node_MODULES中。但它不在主包中安装对等依赖项,也不向我发出缺少对等依赖项的警告。

我检查了主项目中安装的警告(至少在-legacy-peer_deps打开的情况下)或express。顺便说一句,它也不会安装在Package1的node_MODULES中。

有人知道吗?我将不胜感激。

推荐答案

我也遇到了同样的情况,根据这条评论https://stackoverflow.com/a/57915074/473967看起来peerDependencies是针对主机程序包的,但不会安装在";plugin";程序包上,所以我们需要在依赖项(或DevDependency)和peerDependency上添加两次,以便让主机知道。

这篇关于为什么NPM 7.17不安装我的对等依赖项的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-28 03:15