npm install update git submodule

时间:2017-03-21 21:47:32

标签: node.js git npm git-submodules

我有一个带有git子模块的Node JS lib。 当我克隆我的lib的git存储库时,我不得不做submodule update --init --recursive这样的事情来从子模块中提取实际的东西。 在我发布了lib之后,我做了npm install my-lib并注意到它没有拉动git子模块。如何配置它以便拉出git子模块?甚至可能吗?

2 个答案:

答案 0 :(得分:1)

我认为这是不可能的,因为子模块在git之外只是一个简单的文件。

但是,您可以做的是仅在开发中使用子模块,编译库并将编译后的版本发布到包中的dist/文件夹中。

然后只需将main中的package.json指向已编译的库脚本,就可以将其包含在其他项目中。

答案 1 :(得分:0)

确实,没有随 npm i 安装的 git 环境,但您可以明确地在 package.json 的脚本条目中添加:

 "scripts": {
    "preinstall": "git init && git submodule add -f YOUR_REPO_URL LOCAL_PATH"
  }

编辑:然而,这不是最好的选择,因为你不会被安装来重新安装你的包。更喜欢简单的 git clone。