我有一个私人仓库,我想将它安装在我的 package.json 文件中。
"private-module": "git+ssh://git@bitbucket.org:private/private-module.git"
默认情况下,npm 使用您的默认私钥。我希望能够指定在运行 npm install
时 npm 应该使用哪个 ssh 密钥。有没有办法做到这一点?
原文由 Vadim 发布,翻译遵循 CC BY-SA 4.0 许可协议
在 mscdex 答案 的第一部分进行更改后,您可能需要将主机添加到已知主机列表中 - 在 npm install
命令起作用之前。
您可以通过将私有存储库克隆到另一个目录来执行此操作:
git clone ssh://git@bitbucket.org:private/private-module.git
系统可能会询问您是否要继续,键入 yes
并输入,然后 bitbucket.org 是可信的。返回您的项目目录并重试 npm install
。这就是 mscdex 的答案对我有用所需要的。
还有其他方法可以添加受信任的主机,但是除了验证您是否确实可以访问所需的私有存储库之外,这样做也是如此。
原文由 mwotton 发布,翻译遵循 CC BY-SA 3.0 许可协议
5 回答4.8k 阅读✓ 已解决
4 回答2.4k 阅读✓ 已解决
5 回答2.8k 阅读
5 回答3.6k 阅读
3 回答2.6k 阅读
2 回答1.7k 阅读✓ 已解决
5 回答1.9k 阅读
以下是一些解决方案:
~/.ssh/config
中添加一个条目。例如:使用
ssh-agent
并事先将您的密钥添加到代理实例。使用 ssh-ident 之 类的东西根据当前工作目录或传递给 ssh-ident 的参数动态选择 ssh 代理和身份。正如他们的自述文件所述,您通常会将 ssh-ident 别名为
ssh
以便在任何地方自动使用它。