使用 git+ssh 进行 npm install 不会使用用户现有的 ssh 密钥

Wil*_*rty 3 git ssh github npm

我想在我的项目中引用私有 GitHub 存储库。我正在尝试这样的命令:

npm i git+ssh://git@github.com/<myusername>/<myprivaterepo>.git

然而,它似乎没有注意到我已经在我的(Windows 11)系统上配置了 SSH 密钥。我可以愉快地克隆该存储库,但执行上述命令却提示我登录 GitHub:

GitHub 登录

根据我在网上的搜索,这应该无需额外的身份验证即可工作。例如,本文介绍了如何进行设置 - 我可以跳过步骤 2 和 3,因为我的 SSH 密钥已经可以使用(通过 验证ssh -T git@github.com),但我仍然收到提示,并且我不想向我的帐户添加不必要的额外访问权限技术上不需要的 GitHub 帐户。

有谁知道为什么我会收到此提示?

Wil*_*rty 6

我自己发现了这一点 - 这显然是各种情况下的常见问题,但在我围绕 npm 相关命令的搜索中,我没有找到任何地方引用 npm 发生的这种情况,因此我的问题。

感谢我偶然发现的这个评论,我发现有一个用于控制处理凭据的设置。您可以使用 检查其值git config credential.helper。我很高兴地不知道它的存在,因为我通常从命令行使用 SSH 密钥对。

我通过完全关闭系统上 git 的凭据助手解决了我的问题,方法是:

git config --system --unset credential.helper

请注意,这需要管理权限才能完成,因为相关的配置文件位于Program Files目录 ( C:\Program Files\Git\etc\gitconfig) 中。