忽略 package.json 中单个包的对等依赖性检查
Ignore peer dependency check for single package in package.json
我尝试从 NPM 7 的对等依赖性检查中排除包 react-virtualized。我知道我可以单独安装该包
npm install react-virtualized --legacy-peer-deps
...但我的目标是使用 npm install 安装所有软件包,并且不应检查对等依赖项。这可能吗?
我会接受任何告诉我如何操作 package.json 的答案,以便新的 npm install 运行时不会出现对等依赖错误。
我有以下 package.json:
{
"name": "test",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-redux": "^7.2.4",
"react-router": "^5.2.0",
"react-router-dom": "^5.2.0",
"react-beautiful-dnd": "^13.1.0",
"react-device-detect": "^1.11.14",
"react-markdown": "^7.0.0",
"react-resize-detector": "^6.7.1",
"react-virtualized": "^9.22.3"
}
}
据我所知,在您自己的 package.json
中没有办法做到这一点。对于 react-virtualized
包,需要在 package.json
中进行更改。也许这些替代方案之一对您有用:
为您的项目设置 legacy-peer-deps in a .npmrc file。如果人们通过 npm
安装您的项目,但如果您的项目是从 git 存储库克隆或以其他方式下载,然后人们 运行 npm install
从那里安装,这将不起作用, 在项目中包含一个 .npmrc
应该可以。
需要使用 npm@6
这将更宽松地进行对等依赖性检查。您可以在 package.json
.
中的 the "engines" field 中指定 npm
版本
从 GitHub 安装 react-virtualized
。 master 分支(不幸的是,在撰写本文时,只有 master 分支)具有 d36509817ac44 提交,其中添加了 react@17
和 react-dom@17
作为可接受的对等依赖项。因为这段代码还没有在任何版本中,你可能会得到一个不稳定的模块版本。为此:npm install git+https://github.com/bvaughn/react-virtualized.git
分别使用 react@16
和 react-dom@16
而不是 @17
。
我尝试从 NPM 7 的对等依赖性检查中排除包 react-virtualized。我知道我可以单独安装该包
npm install react-virtualized --legacy-peer-deps
...但我的目标是使用 npm install 安装所有软件包,并且不应检查对等依赖项。这可能吗?
我会接受任何告诉我如何操作 package.json 的答案,以便新的 npm install 运行时不会出现对等依赖错误。 我有以下 package.json:
{
"name": "test",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-redux": "^7.2.4",
"react-router": "^5.2.0",
"react-router-dom": "^5.2.0",
"react-beautiful-dnd": "^13.1.0",
"react-device-detect": "^1.11.14",
"react-markdown": "^7.0.0",
"react-resize-detector": "^6.7.1",
"react-virtualized": "^9.22.3"
}
}
据我所知,在您自己的 package.json
中没有办法做到这一点。对于 react-virtualized
包,需要在 package.json
中进行更改。也许这些替代方案之一对您有用:
为您的项目设置 legacy-peer-deps in a .npmrc file。如果人们通过
npm
安装您的项目,但如果您的项目是从 git 存储库克隆或以其他方式下载,然后人们 运行npm install
从那里安装,这将不起作用, 在项目中包含一个.npmrc
应该可以。需要使用
中的 the "engines" field 中指定npm@6
这将更宽松地进行对等依赖性检查。您可以在package.json
.npm
版本从 GitHub 安装
react-virtualized
。 master 分支(不幸的是,在撰写本文时,只有 master 分支)具有 d36509817ac44 提交,其中添加了react@17
和react-dom@17
作为可接受的对等依赖项。因为这段代码还没有在任何版本中,你可能会得到一个不稳定的模块版本。为此:npm install git+https://github.com/bvaughn/react-virtualized.git
分别使用
react@16
和react-dom@16
而不是@17
。