我正在尝试在Linux Raspbian 8.0上运行npm install git+https://bitbucket.org/User/Repository
。但是,出现此错误:
npm ERR! Error while executing:
npm ERR! /usr/bin/git ls-remote -h -t https://bitbucket.org/User/Repository.git
npm ERR!
npm ERR! remote: Invalid username or password
npm ERR! fatal: Authentication failed for 'https://bitbucket.org/User/Repository.git/'
npm ERR!
npm ERR! exited with error code: 128
我的Bitbucket用户名和应用密码应该在全局和目录git配置中均可用:
git config user.name "Username"
git config user.password "Password"
git config --global user.name "Username"
git config --global user.password "Password"
因此,npm
应该可以使用正确的用户名和密码,但似乎并没有使用它们。
此外,为了避免疑问,我已经通过直接与git
一起使用来验证用户名和密码是正确的。
在解决此问题方面的任何帮助将不胜感激!
修改 感谢Matthieu Moy在评论中指出我使用的配置值实际上对Git没有任何特殊含义。
According to documentation,用户名和密码组合可以存储在~/.git-credentials
中。我已经完成了,格式为https://Username:Password@bitbucket.org
。但是,与上述相同的错误仍然存在。我已验证用户名和应用密码正确无误。 Git似乎根本没有使用它们。
答案 0 :(得分:1)
似乎明确指定了.git-credentials
到git
的路径可以解决此问题。我是通过the following command这样做的:
git config --global credential.helper 'store --file=/path/to/.git-credentials'
答案 1 :(得分:0)
我认为bitbucket不想让您从不受信任的来源进行连接。为此,您将需要一个受信任的密钥。该问题已解决:How to resolve authentication error in npm install?
-这是该人告诉您尝试的内容-
如果可以的话,您应该:
npm install
” 答案 2 :(得分:0)
@libzz,我无法评论已接受的答案(我的声誉不高),但要回答您的问题:如果您不想存储凭据,可以使用'cache '作为certificate.helper设置。
git config --global credential.helper cache
如果您向git提供用户名/密码,它将把它们缓存15分钟。
因此,在npm install
之前,您可以在仓库上执行类似git pull
的操作,以发出git提示并临时缓存您的凭据。在npm install
上,git可以使用您的缓存凭据从同一服务器克隆。
这消除了使用纯文本存储凭据的文件的需求。