node.js - 安装新软件包时 npm-force-resolutions 不起作用

标签 node.js npm dependencies npm-install npm-scripts

我正在使用 package.json 的脚本部分强制决议:

"preinstall": "npx npm-force-resolutions"
在决议部分,我输入了graceful-fs指定版本:
"resolutions": {
  "graceful-fs": "^4.2.4",
},
当我运行 npm i一切都正确安装,设置的版本被考虑在内。但后来当我安装一个额外的模块时,例如npm i random-package ,我的设置版本被丢弃,我最终得到 graceful-fs@1.2.3和某些依赖项中的其他低版本。
如果我清除 node_modules 文件夹并运行 npm i再次,一切都好起来了。
我还尝试将分辨率设置得更具体,例如
"resolutions": {
  "glob/**/graceful-fs": "^4.2.4",
},
但这无济于事。
我也试过:
  • 将模块添加为依赖项、devDependency 或 peerDependency
  • 使用收缩包装并在那里覆盖它

  • 但没有运气。
    我错过了什么?

    最佳答案

    对我来说自动执行此操作的最佳解决方案是如上所述修改预安装脚本:

    "preinstall": "npm install --package-lock-only --ignore-scripts && npx npm-force-resolutions",

    关于node.js - 安装新软件包时 npm-force-resolutions 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64605805/

    相关文章:

    gradle - Gradle如何:从依赖项中解压缩ZIP文件中的ZIP文件,并保持增量生成功能

    node.js - 当测试用例花费更多时间时, Istanbul 尔与摩卡不会生成覆盖率报告

    intellij-idea - 如何将依赖源添加到 IntelliJ

    node.js - 将中间件应用于 Express 中的路由

    javascript - req.checkBody 不是一个函数

    node.js - 如何将 Node 应用程序的 "build"内容复制到名为 "dist"的文件夹

    node.js - React 没有导出成员 LinkHTMLAttributes

    Java 构建时和运行时依赖项

    node.js - Apache 代理后面的 Sockjs/socketio 断开连接延迟

    javascript - npm 报告我的模块版本不正确