从 Gitlab 私有存储库导入节点模块时出错

Posted

技术标签:

【中文标题】从 Gitlab 私有存储库导入节点模块时出错【英文标题】:Error while importing a node module from Gitlab private repository 【发布时间】:2018-10-26 15:36:57 【问题描述】:

场景:

我开发了某种节点模块。 后来我才知道,与其将我的节点模块发布到 npm 存储库,我可以使用我自己的 Gitlab 存储库将其用作节点模块。

约束是:

我必须为此活动使用私人仓库 我必须使用 https url 来获取 repo

所以在谷歌搜索了几个小时后,我找到了一个解决方案,其中包括直接来自 git 存储库的依赖项。

因此我的依赖看起来像:

    "my-module": "git+https://myusername:myaccesstoken@gitlab.com:Organization/Project.git#develop"

如果我执行npm install 会导致:

npm ERR! Error while executing: npm ERR! /usr/bin/git ls-remote -h -t ssh://git@gitlab.com/organization/project.git npm ERR! npm ERR! Permission denied (publickey). npm ERR! fatal: Could not read from remote repository. npm ERR! npm ERR! Please make sure you have the correct access rights npm ERR! and the repository exists. npm ERR! npm ERR! exited with error code: 128 npm ERR! A complete log of this run can be found in: npm ERR! /home/username/.npm/_logs/2018-05-16T13_25_37_053Z-debug.log

【问题讨论】:

【参考方案1】:

假设您按照SO answer 中提到的步骤设置访问令牌

你可以尝试删除项目 url 末尾的 .git 扩展名,所以它应该看起来像

"my-module": "git+https://myusername:myaccesstoken@gitlab.com:organization/project#develop"

所以@ 之后的所有内容都应该是您在地址栏中看到的 gitlab 上项目的确切 URL

【讨论】:

以上是关于从 Gitlab 私有存储库导入节点模块时出错的主要内容,如果未能解决你的问题,请参考以下文章

找不到从 gitlab 私有注册表安装的模块 pip

如何通过 https 使用私有 GitLab 存储库作为带有私有令牌的 npm 依赖项

让 GitLab CI 克隆私有存储库

从私有 gitlab 存储库中使用 npm 安装依赖项

如何在私有 GitLab 存储库中使用 Go

为啥 Gitlab 无法从本地网络导入存储库,状态码为 128?