npm 安装更新 git 子模块

npm install update git submodule

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

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

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

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

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

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

编辑:但这不是最佳选择,因为您不会被安装以重新安装您的软件包。更喜欢简单的 git 克隆。