Node.js .gitignore和node_模块
我试图找出在git中处理node_模块的最佳方法。据我所知,有两种选择: A.将所有node_模块与我的项目一起保存在git存储库中。这样,克隆我的项目的人就不必安装任何模块 B.不要在git存储库中保留任何节点_模块,即有一个包含“节点_模块”的“.gitignore”文件 然而,在一些项目中,我看不到这两个选项中的任何一个。例如,在中,没有节点_模块,但也没有.gitignore文件 当我分叉这个repo并进行npm安装时,文件夹中充满了node_模块,并且由于没有.gitignore,git尝试提交它们Node.js .gitignore和node_模块,node.js,github,gitignore,node-modules,Node.js,Github,Gitignore,Node Modules,我试图找出在git中处理node_模块的最佳方法。据我所知,有两种选择: A.将所有node_模块与我的项目一起保存在git存储库中。这样,克隆我的项目的人就不必安装任何模块 B.不要在git存储库中保留任何节点_模块,即有一个包含“节点_模块”的“.gitignore”文件 然而,在一些项目中,我看不到这两个选项中的任何一个。例如,在中,没有节点_模块,但也没有.gitignore文件 当我分叉这个repo并进行npm安装时,文件夹中充满了node_模块,并且由于没有.gitignore,gi
我做错了什么?我不是这方面的专家,但有一点是肯定的。如果没有.gitignore,则不会忽略任何文件。这显然意味着提交者正在手动处理它,而不是提交这些模块 如果您没有做错任何事情,
npm install
将下载并安装项目的所有依赖项,这些依赖项定义在:
有许多可能的解释说明这些内容如何不出现在源代码树中:
- 一种可能性是它们是在全球范围内安装的
- 另一种可能性是,它们实际上添加到了.gitignore中,但是.gitignore本身永远不会提交(这是通过在项目的
文件中添加.gitignore来完成的).git/info/exclude
在任何情况下,知道为什么不存在.gitignore的唯一方法是询问项目的所有者:)。我同意你的看法。我认为这是对存储库所有者的误解。
"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"
}