我有一个需要更新的包依赖项,所以我一直在尝试在 package.json 中使用 overrides,但这似乎不起作用
在我的 package-lock.json 文件中,我可以看到以下内容;
"node_modules/@babel/core": {
"version": "7.23.3",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.3.tgz",
"integrity": "***",
"dependencies": {
"@ampproject/remapping": "^2.2.0",
"@babel/code-frame": "^7.22.13",
"@babel/generator": "^7.23.3",
"@babel/helper-compilation-targets": "^7.22.15",
"@babel/helper-module-transforms": "^7.23.3",
"@babel/helpers": "^7.23.2",
"@babel/parser": "^7.23.3",
"@babel/template": "^7.22.15",
"@babel/traverse": "^7.23.3",
"@babel/types": "^7.23.3",
"convert-source-map": "^2.0.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
"json5": "^2.2.3",
"semver": "^6.3.1"
},
"engines": {
"node": ">=6.9.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/babel"
}
},
我要更新的依赖是这个
"semver": "^6.3.1"
所以我将以下内容添加到我的 package.json 中
"overrides": {
"semver": "7.5.2"
},
我已将其放在 package.json 文件中列出的依赖项和 devDependency 之上 - 我不确定它在 package.json 中的放置是否重要,我一直无法找到任何相关文档。
我也尝试将覆盖代码放在 package.json 的底部,但仍然遇到相同的问题
我已经在 Node 16、17、18、19 和 21 的多个版本上尝试过此操作
我目前正在使用节点 21.2.0 进行测试,该节点使用 npm v10.2.3,该版本高于引入了覆盖的所需 v.8.3.0
我尝试在运行 npm install 之前删除 package-lock.json 文件和 node-modules 文件夹...但每次重新运行 npm install 时,我仍然会得到 package-lock.json 文件中使用的相同依赖项
所以目前我觉得我误解了如何使用覆盖?如果有人能指出我正确的方向,我将非常感激!
您有解决这个问题的方法吗?我面临同样的问题