首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NPM如何更新/升级传递依赖?

NPM如何更新/升级传递依赖?
EN

Stack Overflow用户
提问于 2019-06-17 23:30:08
回答 3查看 11.6K关注 0票数 9

我在我的节点服务器中使用express v4.16.4。

它引入了cookie签名v1.0.6。

我想将cookie-signature升级到v1.1.0,因为它有一个我需要的修复。有什么方法可以做到这一点?

我不认为我应该做npm install cookie- list @1.1.0,因为它会在我的应用依赖中列出cookie-list。

编辑:this讨论了我正在寻求解决的完全相同的问题。公认的答案是使用npm-shrinkwrap,另一个投票最多的答案是使用package-lock.json,但这两个答案似乎都有问题,在各自的评论中进行了讨论。

很高兴将此作为副本关闭。

EN

回答 3

Stack Overflow用户

发布于 2021-03-04 15:47:17

您还可以通过在package.json中添加resolutions密钥来“强制”某些版本的依赖项来解决此问题:

代码语言:javascript
复制
{
  "resolutions": {
    "cookie-signature": "^1.1.0"
  }
}

要真正使用它,您必须在preinstall中使用npm-force-resolutions

代码语言:javascript
复制
"scripts": {
  "preinstall": "npx npm-force-resolutions"
}

有关更多信息,请参阅此帖子:https://itnext.io/fixing-security-vulnerabilities-in-npm-dependencies-in-less-than-3-mins-a53af735261d

票数 11
EN

Stack Overflow用户

发布于 2021-12-27 00:34:56

NPM 8引入了“覆盖”,它允许您覆盖直接依赖的特定传递依赖。对于您的用例,您可以在您的package.json中声明如下内容。

代码语言:javascript
复制
{
  "overrides": {
    "express": {
      "cookie-signature": "1.1.0"
    }
  }
}

更多细节@ https://docs.npmjs.com/cli/v8/configuring-npm/package-json#overrides

票数 2
EN

Stack Overflow用户

发布于 2019-11-20 16:11:07

我们有一个非常相似的问题。Protractor 5.4.2依赖于webdriver-manager@^12.0.6。在package-lock.json中,webdriver-manager固定为12.1.5。然而,我们需要12.1.7版本才能使其与所有最新的chrome版本兼容。

我们注意到,当删除node_modules和包-lock.json时,npm会安装12.1.7版,但我们没有找到自动更新包-lock.json的方法。以下是我们采取的步骤:

删除node_modules

  • Remove package-lock.json

  • Run npm install

  • Open包-

  • 并将webdriver-manager部分复制到另一个文件中

  • Undo (git签出)将保存的webdriver-manager部分中的所有更改恢复到package-lock.json

  • Copy中,并确认安装了正确的版本。

我认为这个变通方法应该也适用于express和cookies签名。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56634474

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档