npm使用子模块安装forked git

Mar*_*ahn 10 javascript node.js npm

我试图让npm安装node-gitteh为依赖,通过npm install它来读取package.json.不幸的是,这个npm包在节点0.6.x中被破坏了,但没有问题,因为有一个分叉的仓库解决了这些问题(https://github.com/hughsk/node-gitteh.git).

现在的问题是这个分叉的repo有一个子模块,所以如果我尝试从github下载tar package.json:

, "dependencies" : {
    "gitteh" : "https://github.com/hughsk/node-gitteh/tarball/master"
}
Run Code Online (Sandbox Code Playgroud)

我得到一个错误,相当于"找不到子模块文件夹".如果我手动克隆相同的repo并npm installnode-gitteh文件夹执行递归子模块更新,它工作正常,但我无法弄清楚如何让npm执行此操作.

Tob*_*nin 5

我遇到了同样的问题,到目前为止只是依靠将我的模块克隆到 node_modules 并手动进行子模块更新。让 npm 自动处理这个会很好。

在 package.json 中有一个 scripts 字段(请参阅npm docs)所以可以这样做

"scripts":{"preinstall": "git submodule update -i -r"}
Run Code Online (Sandbox Code Playgroud)

有关此示例,请参阅https://github.com/isaacs/octave-test