我有一个main
项目,它依赖于本地文件存储中的包package1
<代码>程序包1同级取决于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
具有npm@6.x它将package1安装为主项目的node_模块中的链接,正如预期的那样。这也给了我一个警告,对等依赖项丢失了——正如预期的那样。
现在我用npm@7.17为了同样的任务。使用--传统对等deps
选项或不使用。它将package1作为链接安装在主项目的node_模块中。但是它没有在主包中安装对等依赖项,也没有给我一个警告,即缺少对等依赖项。
我在主项目中安装了警告(至少在打开-legacy-peer_deps
的情况下)或Express
。顺便说一句,它也不会安装在包1的node_modules。
有人知道吗?我会非常感激的。
同样的事情也发生在我身上,基于这一评论https://stackoverflow.com/a/57915074/473967看起来peerDependencies
适用于主机包,但不会安装在“plugin”包上,因此我们需要在依赖项(或devDependencies)和peerDependencies上添加两次,以让主机知道。