6

我的情况

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

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

git我使用 GitHub 存储库维护我的项目并发布。

我的问题

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

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

我的问题

使依赖项远离我的 GitHub 存储库的最佳方法是什么?

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

4

2 回答 2

10

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

node_modules

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

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

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

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

dependenciespackage.json 将告诉 npm 安装您的模块时列出的任何内容。您可以在此处阅读有关 package.json 的更多信息

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

于 2013-01-28T15:19:42.610 回答
0

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

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

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

于 2013-01-28T15:21:30.690 回答