npm安装在多域git存储库上失败

时间:2015-10-09 03:35:20

标签: node.js git github npm gitlab

我们有一个新项目,我们将它托管在我们自己的Gitlab服务器中。我从

克隆了它
git@git.myacme.com:webapplication/app.git

成功。

我们说gitlab中的用户名是scott@myacme.com。

我们在Github也有一个现有项目,我使用的用户名是scott@yahoo.com

在新项目中,我们在package.json中有一个指向现有项目的条目。记下https

https://github.com/myacme/system-application.git

现在,当我执行npm install时,它在尝试拉取github.com中的现有项目时失败。它说无效的用户名或密码....身份验证失败。我认为它仍然使用scott@myacme.com而不是scott@yahoo.com

我不允许更改package.json。我正在考虑将其更改为git链接而不是https,但我会影响其他开发人员。如果我这样做,我认为它将使用我放在.ssh / config中的设置。我添加了2个主机,我们的myacme.com和github.com

这是什么解决方法?我尝试使用我的雅虎电子邮件地址设置git config global user.name和user.email,但它仍未使用它。我没有想法。

这是npm-debug.log文件中的确切错误

515 error git clone --template=/Users/scott/.npm/_git-remotes/_templates --mirror https://github.com/myacme/system-application.git /Users/scott/.npm/_git-remotes/https-github-com-myacme-system-application-git-0be15bdd: remote: Invalid username or password.

515 error git clone --template=/Users/scott/.npm/_git-remotes/_templates --mirror https://github.com/myacme/system-application.git /Users/scott/.npm/_git-remotes/https-github-com-myacme-system-application-git-0be15bdd: fatal: Authentication failed for 'https://github.com/myacme/system-application.git/'

1 个答案:

答案 0 :(得分:1)

user.name不用于使用https进行身份验证,仅在进行提交时使用(对于作者/提交者名称)

你能做的是:

这样,git clone将在GitHub上使用已知身份验证(您的 GitHub scott帐户,因为它具有正确的ssh公钥。)