简体   繁体   English

无法覆盖节点中的依赖项

[英]Unable to override dependency in node

I want to upgrade dependency of one of the package include in a transitive way:我想以传递方式升级其中一个包的依赖项:

 minimist :: 0.0.8 >> node:npm:gitcorp/Myproject >> node:npm:artifactory/npm-dcloud:less:3.9.0 >> node:npm:artifactory/npm-dcloud:mkdirp:0.5.1

Package minimist should be update from 0.0.8 to 0.2.1.包 minimist 应该从 0.0.8 更新到 0.2.1。

I tried following approach我尝试了以下方法

1. 1.

node 8.1

     "scripts": {
      "preinstall": "npx npm-force-resolutions"
    
    }
    {
      "resolutions": {
        "minimist": "0.2.1"
      }
    }

Still in my package-lock.json I see below:仍然在我的 package-lock.json 中,我看到如下:

  "mkdirp": {
          "version": "0.5.1",
          "resolved": false,
          "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
          "dev": true,
          "optional": true,
          "requires": {
            "minimist": "0.0.8"
          }

Secondly, when i run "npm run build" by ading above statements in my package.json, i get error as npm ERR! missing script: build其次,当我通过在我的 package.json 中添加上述语句来运行"npm run build"时,我收到错误为npm ERR! missing script: build npm ERR! missing script: build

  1. Since my node version is 8.1 so i cannot use overrides available in npm 8.3, as npm 8.3 requires node version 10+.由于我的节点版本是 8.1,所以我不能使用 npm 8.3 中可用的覆盖,因为 npm 8.3 需要节点版本 10+。

Is there a work around to force dependency version?有没有办法强制依赖版本?

I was experiencing the same problem.我遇到了同样的问题。 My problem was npm 8.1.我的问题是 npm 8.1。 I updated npm to, in my case, 8.7 and used the override settings in the package.json eg:我将 npm 更新为 8.7,并在 package.json 中使用了覆盖设置,例如:

{
  "overrides": {
    "minimist": "0.2.1"
  }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM