我有一个需要更新的包依赖项,所以我一直在尝试在我的package.json中使用覆盖,但这似乎不起作用
在我的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文件中列出的依赖项和开发项之上-我不确定它在package.json中的位置是否重要,我找不到任何文档。
我也试过将覆盖代码放在package.json的底部,但仍然存在同样的问题。
我已经在Node 16、17、18、19和21的几个版本中尝试过这种方法
我目前正在使用Node 21.2.0进行测试,它使用npm v10.2.3,高于引入覆盖的所需v.8.3.0
我试过在运行npm install之前删除package-lock.json文件和node-modules文件夹.但每次我重新安装npm时,我仍然会得到与package-lock.json文件中使用的相同的依赖项
所以目前这感觉我就像我误解了如何使用覆盖?如果有人能指出我在正确的方向,我会非常感谢!
1条答案
按热度按时间0kjbasz61#
就用这个命令
字符串
它将覆盖package.json文件中的包的版本并更新包的版本,并更新节点模块中的包。