如何在节点中管理固定但未拉动的第三方库?

时间:2014-01-13 10:37:25

标签: node.js github ntwitter

我正在使用nTwitter来使用node访问twitter api。 但是,搜索实用程序和someone already forked and fixed it中存在一个错误,但尚未提取。

我如何使用固定版本。我的所有团队都将拥有固定版本(意思是,只需在本地修复它就不会这样做),但是仍然将它用作npm模块?它可以完成吗?

2 个答案:

答案 0 :(得分:2)

像这样安装提交:

npm install git://github.com/AvianFlu/ntwitter#e496bc07b9d0138f65902a43bc267796ab1a74d1

或使用package.json安装:

{
  ....
  "dependencies": {
    ....
    "ntwitter" : "git://github.com/AvianFlu/ntwitter#e496bc07b9d0138f65902a43bc267796ab1a74d1"
  }
}

答案 1 :(得分:2)

  1. 您可以设置private npm repository并在一个唯一的版本(例如1.2.5-yourcompanyname)下上传您的软件包,因此它将安装在使用此注册表的每个人身上。

    优点:对于使用它的每个人来说,它就像npm注册表一样

    缺点:它只能在封闭的群体中使用,即在团队或公司内

  2. 您可以将git依赖项设置为指出的wethat。

    优点:它适用于大多数开箱即用的人

    缺点:它需要在每个用户的机器上安装git

  3. 您可以将其作为子模块或常规文件检查到您的git存储库。发布时使用bundleDependencies。

    优点:安装速度更快,通常适用于所有人

    缺点:占用git存储库中的空间,更长的签出等等。

  4. 我们选择了第一个解决方案,并且通常都试图避免使用第二个解决方案,因为我们没有生产的git。第三个也很受欢迎。