【问题标题】:npm nested dependencies, why not imitate gem?npm嵌套依赖,为什么不模仿gem呢?
【发布时间】:2013-04-09 02:08:31
【问题描述】:

我今天正在安装sails.js,看看它是如何一遍又一遍地安装同一个包的(我的应用程序依赖项的依赖项),那么为什么 npm 不使用类似 gem 的系统呢?将其全局保存在库和他的不同版本中,如果您在服务器上有多个项目并且不一遍又一遍地安装相同的库,那么共享同一个库会很酷(我知道这是使用 npm 链接的一种解决方法,但似乎不被视为最佳做法)。

【问题讨论】:

    标签: javascript node.js gem npm sails.js


    【解决方案1】:

    依赖管理很困难。 npm 非常坚持不共享包并坚持每个包都有自己的 node_modules 文件夹。这样可以避免很多潜在的陷阱。这些包非常小,使用更多的磁盘空间几乎总是比试图解决与依赖版本控制相关的问题更好。

    另外有趣的是,注意何时在 git 中包含 node_modules。 http://www.futurealoof.com/posts/nodemodules-in-git.html

    【讨论】:

      【解决方案2】:

      对于这种功能选择,我能给出的最佳猜测是产品可以使用的库的不同版本。也许您使用的是 Connect 2.8,但您的依赖项可能使用的是与您的 Connect 版本不兼容的 Connect 1.5。

      【讨论】:

      • 没错!我认为这是以撒这样做的主要原因。去年我一直在使用 npm 进行游戏和我们所有的项目,这真是太棒了——我坚信他做出了正确的选择。
      • 我自己一点也不抱怨,它是一个非常可靠的工具。
      猜你喜欢
      • 2012-03-29
      • 2013-07-02
      • 1970-01-01
      • 2015-07-07
      • 2018-06-16
      • 2014-05-18
      • 1970-01-01
      • 1970-01-01
      • 2019-06-09
      相关资源
      最近更新 更多