【发布时间】:2011-09-29 22:51:02
【问题描述】:
我已经多次遇到这种情况,但仍然没有找到答案。我正在开始一个新的 Node.js 项目,这个项目将依赖于其他一些库。为了争论,假设有些是纯粹的 JS 库,可以作为 git 子模块添加到新项目中,但有些部分需要一些额外的工作(例如 npm 安装的系统依赖项,或者必须编译的 C 库)。
启动这个项目并将其添加到git的最佳方法是什么,具有以下两个要求:
- 其他人的库不提交给我们自己的存储库,而是子模块或动态拉入并由 npm 安装。
- 不需要仅仅为了克隆 repo 并拥有一个工作环境而必须遵循的大量指令列表。运行 git submodules update --init --recursive 没问题,运行 npm 命令读取 package.json 并安装依赖项也没问题(这样的命令存在吗?),但强制每个人都运行“npm install __" 每个依赖项都不好,如果不需要的话,我宁愿不使用 'make' 或 'ant' 来做到这一点。
有什么最好的方法吗?这似乎是一件如此简单、基本的事情,但我找不到一个我正在尝试做的事情的例子。
编辑:语法
【问题讨论】:
-
顺便说一下,你可以使用
git clone --recursive ... foo,和git clone ... foo && cd foo && git submodule update --init --recursive一样