npm 覆盖package.json中的用法

deikduxw  于 11个月前  发布在  其他
关注(0)|答案(1)|浏览(136)

我有一个需要更新的包依赖项,所以我一直在尝试在我的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文件中使用的相同的依赖项
所以目前这感觉我就像我误解了如何使用覆盖?如果有人能指出我在正确的方向,我会非常感谢!

0kjbasz6

0kjbasz61#

就用这个命令

npm install [email protected]

字符串
它将覆盖package.json文件中的包的版本并更新包的版本,并更新节点模块中的包。

相关问题