Node.js + Git:如何避免将模块依赖项添加到存储库

时间:2013-01-28 15:13:37

标签: git node.js github repository npm

我的情况

我正在开发一个Node.js应用程序作为npm模块。

为了能够运行此应用程序,我安装了所有npm依赖项。因此,我的项目包含一些包含外部模块依赖关系构建的./node_module/文件夹。

我使用git维护我的项目,并使用Gi​​tHub存储库进行发布。

我的问题

我不想在GitHub上发布npm模块依赖项的所有本地构建。

我只想发布自己的代码。我的模块的用户应该使用npm install来获取当前的构建依赖项。

我的问题

保持依赖关系构建远离我的GitHub存储库的最佳方法是什么?

感谢您的回答(或评论)。 - 如果有任何不清楚的地方,请发表评论。

2 个答案:

答案 0 :(得分:10)

在项目的根目录(上面的node_modules)中,将以下行添加到.gitignore文件的末尾(如果需要,可以创建它):

node_modules

这将阻止将node_modules文件添加到GitHub存储库。

然后在同一目录中创建或打开package.json文件,并添加dependencies部分,如下所示:

{
   "dependencies": {
      "module": "0.0.x",
      ...
   }
}

通常,您需要使用0.0.x作为版本的格式。这可以确保您修复错误,但不会对依赖项进行破坏或重大更改,因此它们将与您的模块保持兼容。

每当安装模块时,package.json都会告诉npm安装dependencies中列出的任何内容。你可以read more about package.json here

这是整个过程的a great little overview

答案 1 :(得分:0)

为了防止将模块添加到您的git存储库(以及因此添加到github),您可以将node_modules文件夹添加到.gitignore文件中。 (正如@Kato刚刚指出的那样)

但是,您可以考虑将模块保留在存储库中,以确保每个人都具有完全相同的版本。使用npm install可能会导致人们获得不同(更近期)的模块版本。

这是关于这个主题的好文章:http://www.futurealoof.com/posts/nodemodules-in-git.html