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 克隆。
我有一个带有 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 克隆。