【发布时间】:2014-07-08 01:14:19
【问题描述】:
我们有自己的节点模块,用于为我们的几个内部项目保留共享代码。 package.json 中的条目如下所示:
"dependencies": {
"foo": "git+https://github.secureserver.net/MyProject/foo.git#master",
}
作为实践,我们将依赖节点模块与项目代码一起检查到 git 中。例如,我们在 git 中的树看起来是这样的:
application\
config\
package.json
node_modules\
test\
每当我们在任何依赖 foo 的项目中执行“npm update foo”时,我们都会得到更新的 foo,但是 npm 也会更新 foo 所依赖的节点模块,即使它们与 foo 一起被检入 git。这不是我们想要的。在“npm update”中,我们希望 foo 及其所有节点模块准确反映 master 中的内容,因为这就是 foo 被测试的内容。我们可以在 foo 中的 package.json 中要求模块的确切版本,但是当我们想要签入新版本时,这会使更新 foo 的依赖项更加成问题。我们如何在不更新 foo 的 node_modules 的情况下让“npm update foo”从 Github 拉取 foo?
【问题讨论】:
标签: node.js git npm node-modules