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

我的情况

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

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

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

我的问题

我不想在GitHub上发布所有本地的npm模块依赖关系。

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

我的问题

什么是保持从我的GitHub存储库的依赖性build设的最佳方式?

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

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

 node_modules 

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

然后在同一个目录下创build或打开package.json文件,然后像下面这样添加一个dependencies部分:

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

一般来说,你会想要使用0.0.x版本的格式。 这可以确保您获得错误修复,但不会破坏或重大的依赖关系的变化,所以他们将保持与您的模块兼容。

package.json会告诉npm在你的模块被安装的时候安装在dependencies列出的东西。 你可以在这里阅读关于package.json的更多信息 。

这是整个过程的一个很好的概述 。

为了防止模块被添加到你的git仓库(并因此添加到github),你可以添加node_modules文件夹到你的.gitignore文件。 (就像@Kato刚刚指出的那样)

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

这是一个很好的博客文章: http : //www.futurealoof.com/posts/nodemodules-in-git.html