NPM和npm-shrinkwrap控制瞬态依赖

时间:2017-06-06 15:10:45

标签: javascript node.js npm leaflet npm-shrinkwrap

背景

我似乎无法让npm-shrinkwrap工作。我目前正在使用一个名为leaflet.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并且我已经向库所有者提交了一个错误来更新他们的package.json文件。

问题

经过一些谷歌搜索后,我找到了npm-shrinkwrap。我执行了以下

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和瞬态leaflet依赖关系伪造版本号,并且npm安装成功完成且没有错误。

有什么想法吗?

0 个答案:

没有答案