2017-10-19 86 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密鑰在同一時間,因爲我需要結帳從一臺電腦的兩個不同的帳戶。因此這兩個命令沒有得到相同的輸出。 –