2017-10-19 91 views
0

我想添加一个位于专用bitbucket回购库中的cordova插件。因此,我想使用以下SSH URL:通过ssh url添加一个cordova插件导致用户名错误

[email protected]:myuser/cordova-plugin-xyz.git 

正如您所看到的用户是myuser。

如果我现在运行

cordova plugin add git+ssh://[email protected]/myuser/cordova-plugin-xyz.git 

我收到以下错误:

npm ERR! Command failed: git clone --template=/home/localuser/.npm/_git-remotes/_templates --mirror ssh://[email protected]/myuser/cordova-plugin-xyz.git /home/localuser/.npm/_git-remotes/ssh-git-bitbucket-org-myuser-cordova-plugin-xyz-git-160b6243 npm ERR! Klone in Bare-Repository '/home/localuser/.npm/_git-remotes/ssh-git-bitbucket-org-myuser-cordova-plugin-xyz-git-160b6243' ... npm ERR! repository access denied. npm ERR! fatal: Could not read from remote repository.

正如你可以看到科尔多瓦试图通过链接

ssh://[email protected]/myuser/cordova-plugin-xyz.git 

这将让插件git作为用户在我的情况是错误的。

有没有办法改变用户cordova使用?这是一个错误?我可以在bitbucket中切换某些内容,以便它接受git用户吗?

在此先感谢。

回答

0

SSH URL的名称部分在Bitbucket上并不重要 - 尽管用户名快了一点,但“git”和你的用户名都可以工作。您可以通过运行ssh -v [email protected]ssh -v [email protected]来确认这一点,两者应该具有相同的输出。

该特定的错误可能意味着Cordova没有进入Bitbucket,或者它没有使用允许访问该回购的私钥。如果您从该系统和用户运行ssh -v [email protected],它是否建立连接并提及您的用户名?

+0

嗯,现在我明白了:问题是我有多个用于多个帐户的BitBucket SSH密钥。现在的问题是,cordova cli工具使用git(似乎是硬编码:-(),并且这个用户链接到了错误的帐户。改变这个链接是不可能的。我还试图在〜 /.ssh并改变主机(如此处所述https://developer.atlassian.com/blog/2016/04/different-ssh-keys-multiple-bitbucket-accounts/),这也不起作用(cordova cli tool说不支持的URL格式)除非没有办法告诉cordova cli工具不要把“git”用户搞砸 –

+0

您应该重新阅读我的答案:无论SSH命令是否使用“git”或真正的用户名,只要使用的SSH密钥与具有权限的用户相关联即可,您可以通过运行ssh -v [email protected]和ssh -v [email protected]来确认,该用户应该拥有同样的输出。 –

+0

我明白了,但正如我写的,我已经加载*两个* ssh密钥在同一时间,因为我需要结帐从一台电脑的两个不同的帐户。因此这两个命令没有得到相同的输出。 –

相关问题