gpt4 book ai didi

git - 在 npm 包中使用非 npm-package git 子模块

转载 作者:搜寻专家 更新时间:2023-11-01 00:02:52 25 4
gpt4 key购买 nike

我如何更新非 npm-package 在我的 安装前的包?

我正在使用 git 并有一个 node.js 模块,该模块依赖于也托管在 git 存储库中的外部项目。我将外部项目添加为子模块,现在我正在尝试制作一个 npm 包。

由于外部依赖不是 npm 包(也不是 Node 模块),我想我不能使用 npm submodule命令,所以我想出了 thispackage.json 文件中预安装脚本:

"scripts": { "preinstall" : "git submodule update --init"}

当我在包目录中执行 npm install 时,它工作正常,但是当我尝试直接从我的远程 git 存储库或使用 npm pack< 制作的 tarball 安装包时,我收到以下错误:

You need to run this command from the toplevel of the working tree.

I also tried (as the error message said):

"scripts": { "preinstall" : "cd $(git rev-parse --show-toplevel) && git submodule update --init"}

这个没有显示任何错误,但也没有更新包目录中的子模块。

如有任何帮助,我们将不胜感激。

最佳答案

您下载的 npm 解压后,不再包含 git 信息(没有 .git 目录)。

所以没有 git 命令会以这种方式工作,但可以在本地工作,因为你有 git 信息。

至于解决方案,您可能必须创建一个脚本来执行 npm pack 的操作,但不会忽略子模块。

我没有尝试过,但是这个脚本 https://github.com/Kentzo/git-archive-all 可能是开箱即用的,比如

git-archive-all --prefix package/ module.tgz

可能需要一些调整...

关于git - 在 npm 包中使用非 npm-package git 子模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15279703/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com