gau*_*430 6 node.js npm express
我在我的节点服务器中使用 express v4.16.4。
它引入了 cookie 签名 v1.0.6。
我想将 cookie-signature 升级到 v1.1.0,因为它有一个我需要的修复程序。有什么方法可以做到这一点?
我不认为我应该执行 npm install cookie-signature@1.1.0 ,因为它会在我的应用程序依赖项中列出 cookie-signature。
编辑:这讨论了我希望解决的完全相同的问题。接受的答案是使用 npm-shrinkwrap ,另一个投票最高的答案是使用 package-lock.json ,但这两个似乎都有各自评论中讨论的问题。
很高兴将其作为副本关闭。
小智 16
NPM 8 引入了“覆盖”,它允许您覆盖直接依赖项的特定传递依赖项。对于您的用例,您可以在 package.json 中声明如下所示的内容。
{
"overrides": {
"express": {
"cookie-signature": "1.1.0"
}
}
}
Run Code Online (Sandbox Code Playgroud)
更多详细信息@ https://docs.npmjs.com/cli/v8/configuring-npm/package-json#overrides
小智 7
您也可以通过resolutions在package.json“强制”某些版本的依赖项中添加一个键来解决该问题:
{
"resolutions": {
"cookie-signature": "^1.1.0"
}
}
Run Code Online (Sandbox Code Playgroud)
要实际使用它,您必须使用npm-force-resolutionsin preinstall:
"scripts": {
"preinstall": "npx npm-force-resolutions"
}
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅此帖子:https : //itnext.io/fixing-security-vulnerabilities-in-npm-dependencies-in-less-than-3-mins-a53af735261d
小智 1
我们有一个非常相似的问题。Protractor 5.4.2 依赖于 webdriver-manager@^12.0.6。在 package-lock.json 中,webdriver-manager 已修复为 12.1.5。但是,我们需要 12.1.7 才能使其与所有最新的 chrome 版本兼容。
我们注意到,npm 在删除 node_modules 和 package-lock.json 时会安装版本 12.1.7,但我们没有找到自动更新 package-lock.json 的方法。因此,我们采取了以下步骤:
npm installnpm install我认为这个解决方法也应该适用于 Express 和 cookies-signature。
| 归档时间: |
|
| 查看次数: |
9167 次 |
| 最近记录: |