我正试图找出在git中处理node_modules的最佳方法。据我所读,有两种选择:
将所有的node_modules与我的项目一起保存在git存储库中。这样,一个人克隆我的项目不需要安装任何模块。
不要将任何node_modules保存在git存储库中,即有一个包含"node_modules“的".gitignore”文件。
然而,在一些项目中,我看不到这两个选项中的任何一个。例如,在这个node.js项目中,没有node_modules,但也没有.gitignore文件.
当我分叉这个回购,并执行npm安装时,文件夹中充满了node_modules,并且由于没有.gitignore,所以git试图提交它们.
我做错了什么?
发布于 2013-06-12 17:14:26
您没有做错任何事情,npm install将下载并安装项目的所有依赖项,这些依赖项是在package.json中定义的。
"dependencies": {
"underscore" : ">=1.3.3"
},
"devDependencies" : {
"mocha" : ">=1.0.0",
"canvas" : ">=0.10.0",
"cradle" : ">=0.2.0",
"should" : ">=0.6.0",
"async" : ">=0.1.18"
}对于源树中如何不出现这些问题,有许多可能的解释:
.git/info/exclude文件中添加.gitignore来完成的。在任何情况下,了解为什么不存在.gitignore的唯一方法是询问项目的所有者:)。
发布于 2013-06-12 15:49:47
我不是这个节点模块的专家,但是有一件事是肯定的。如果没有.gitignore,那么就不会忽略任何文件。这显然意味着提交者正在手动处理它,以避免提交这些模块。
https://stackoverflow.com/questions/17069782
复制相似问题