use*_*578 14 npm npm-install peer-dependencies
我尝试从 NPM 7 的对等依赖项检查中排除包react-virtualized。我知道我可以单独安装该包
npm install react-virtualized --legacy-peer-deps
...但我的目标是使用 npm install 安装所有软件包,并且不应检查此软件包的对等依赖关系。那可能吗?
我会接受任何向我展示如何操作 package.json 的答案,以便新的npm 安装运行时不会出现对等依赖错误。我有以下 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"
}
}
Run Code Online (Sandbox Code Playgroud)
Vit*_*sov 23
使用npm@>=8.3.0覆盖package.json:
"overrides": {
"react-virtualized": {
"react": "$react",
"react-dom": "$react-dom"
}
}
Run Code Online (Sandbox Code Playgroud)
请参阅https://docs.npmjs.com/cli/v8/configuring-npm/package-json#overrides
package.json据我所知,你自己没有办法做到这一点。更改需要在package.json包中进行react-virtualized。也许这些替代方案之一适合您:
在项目的.npmrc 文件中设置legacy-peer-deps。如果人们通过安装你的项目,npm但如果你的项目是从 git 存储库克隆或以其他方式下载的,那么人们npm install从那里运行,包括.npmrc项目中的 a 应该可以工作。
要求使用npm@6这对于对等依赖性检查更加宽松。您可以npm在.package.json
从 GitHub安装react-virtualized。master 分支(不幸的是,在撰写本文时,只有 master 分支)具有 d36509817ac44 提交,该提交添加了 d36509817ac44react@17并react-dom@17作为可接受的对等依赖项。由于此代码尚未发布任何版本,因此您可能会获得不稳定的模块版本。去做这个:npm install git+https://github.com/bvaughn/react-virtualized.git
对每个使用react@16andreact-dom@16代替。@17
| 归档时间: |
|
| 查看次数: |
7397 次 |
| 最近记录: |