【问题标题】:can I develop a node module as GIT submodule我可以开发一个节点模块作为 GIT 子模块吗
【发布时间】:2016-11-20 14:54:35
【问题描述】:

我已经创建了一个 GIT 存储库,我将在那里开发几个节点模块。

所以我从我的第一个节点模块(modA)开始。并在其下创建了一个文件夹(子模块)。

 https://github.com/<username>/<reponame>/modA

我在那里添加了一个简单的 REAME。

现在在我的本地机器上,我去了一个项目/node_module,然后运行这个命令。

 git clone 'https://github.com/<username>/<reponame>/modA

我收到这个错误

fatal: repository 'https://github.com/enraiser/node/enMailer/' not found'

我尝试了 git submodule add 但也失败了。

所以我的问题是。是否所有节点插件都必须是存储库?还是我没有使用正确的 GIT 命令。

【问题讨论】:

    标签: git github npm node-modules


    【解决方案1】:

    您刚刚在存储库中创建了一个文件夹。它不是子模块。 所以你的 repo url 是 git@github.com:enraiser/node.git(使用 SSH)或 https://github.com/enraiser/node.git(使用 HTTPS)。

    如果你想创建你的节点模块作为你的主存储库的 git 子模块,那么你需要 首先为每个模块创建单独的存储库,然后使用它们的 url 将它们添加为子模块。

    假设你已经创建了 enMailer repo 并且你有 &lt;enMailer-url&gt;:

    cd /local/path/to/your/repo
    git clone git@github.com:enraiser/node.git .
    rm -rf enMailer
    git submodule add <enMailer-url> enMailer 
    git add .
    git commit -m 'submodule enMailer added'
    git push origin master
    

    P.S. 这是给您的屏幕截图(您可以在 github 上获得正确的存储库 url):

    【讨论】:

    • 感谢您解释子模块。我想在列表中我可以继续前进。
    • 从 NPM 角度来看的任何 cmets。为什么我可以将节点模块作为 GIT 中的文件夹?
    • @enRaiser 不确定我是否理解正确...是否需要创建 git 子模块?如果您希望您的模块可以通过npm 单独访问以进行安装,那么可以,它们都应该在自己的存储库中。然后你可以这样安装它们:npm install &lt;module-url&gt;
    • 我认为子文件夹还是比子模块好。但是如果 NPM 有什么技巧的话。否则,正如你所说,我必须使用子模块。
    • @enRaiser 另一个问题是为什么你需要这个包含你的节点模块作为 git 子模块的公共存储库?
    猜你喜欢
    • 2015-06-02
    • 1970-01-01
    • 2015-02-06
    • 2017-07-15
    • 2021-05-01
    • 2011-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多