Javascript NPM和NPM包覆面处理以控制瞬态依赖关系

Javascript NPM和NPM包覆面处理以控制瞬态依赖关系,javascript,node.js,npm,leaflet,npm-shrinkwrap,Javascript,Node.js,Npm,Leaflet,Npm Shrinkwrap,背景 我似乎无法让npm收缩膜发挥作用。我目前正在使用一个名为传单.zoomslider的传单插件,它依赖于传单0.7.7。我正在尝试升级我的应用程序以使用leafet@1.0.3. 由于zoomslider引入了0.7.7,而我正在导入传单1.0.3,所以两个库都被导入(最终0.7.7将被最后导入,在我的情况下将超过1.0.3) zoomslider似乎在1.0.3中运行良好,我已经向库所有者提交了一个bug,以更新他们的package.json文件 问题 通过谷歌搜索,我找到了npm收缩膜

背景

我似乎无法让npm收缩膜发挥作用。我目前正在使用一个名为传单.zoomslider的传单插件,它依赖于传单0.7.7。我正在尝试升级我的应用程序以使用leafet@1.0.3. 由于zoomslider引入了0.7.7,而我正在导入传单1.0.3,所以两个库都被导入(最终0.7.7将被最后导入,在我的情况下将超过1.0.3)

zoomslider似乎在1.0.3中运行良好,我已经向库所有者提交了一个bug,以更新他们的package.json文件

问题

通过谷歌搜索,我找到了npm收缩膜。我执行了以下操作

npm install -g npm-shrinkwrap

npm install

npm shrinkwrap
这成功创建了我的npm-shrinkwrap.json文件。为了强制传单的暂时依赖项为1.0.3,我手动编辑了npm-shrinkwrap.json文件

leaflet.zoomslider: {
  version: 0.7.0,
  from: leaflet.zoomslider@0.7.0,
  resolved: ...
  dependencies: {
    leaflet: {
      version: 1.0.3
      from: leaflet@1.0.3,
      resolved: ......
    }
  }
}
我删除了我的node_modules文件夹,重新安装了npm,并注意到我的应用程序仍然带来了0.7.7和1.0.3的宣传单。事实上,我删除了node_modules文件夹,并在npm-shrinkwrap.json文件中提供了zoomslider和瞬态传单依赖项的虚假版本号,npm安装成功完成,没有出现错误

有什么想法吗