【问题标题】:Adding a cordova plugin via ssh url results in wrong username通过 ssh url 添加 cordova 插件会导致用户名错误
【发布时间】:2017-10-19 09:24:45
【问题描述】:

我想添加我的 cordova 插件,该插件位于私有 bitbucket 存储库中。因此,我想使用以下 SSH url:

myuser@bitbucket.org:myuser/cordova-plugin-xyz.git

如您所见,用户是 myuser。

如果我现在跑步

cordova plugin add git+ssh://myuser@bitbucket.org/myuser/cordova-plugin-xyz.git

我收到以下错误:

npm 错误!命令失败:git clone --template=/home/localuser/.npm/_git-remotes/_templates --mirror ssh://git@bitbucket.org/myuser/cordova-plugin-xyz.git /home/localuser/.npm/_git-remotes/ssh-git-bitbucket-org-myuser-cordova-plugin-xyz-git-160b6243 npm 错误!裸存储库中的 Klone '/home/localuser/.npm/_git-remotes/ssh-git-bitbucket-org-myuser-cordova-plugin-xyz-git-160b6243' ... npm 错误!存储库访问被拒绝。 npm 错误!致命:无法从远程存储库读取。

如您所见,cordova 尝试通过 url 获取插件

ssh://git@bitbucket.org/myuser/cordova-plugin-xyz.git

git 设置为用户,这在我的情况下是错误的。

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

提前致谢。

【问题讨论】:

    标签: git cordova plugins bitbucket


    【解决方案1】:

    SSH URL 的名称部分在 Bitbucket 上并不重要——“git”和您的用户名都应该可以工作,尽管用户名要快一点。您可以通过运行ssh -v username@bitbucket.orgssh -v git@bitbucket.org 来确认这一点,它们的输出应该相同。

    该特定错误可能意味着 Cordova 没有访问 Bitbucket,或者它没有使用允许访问该存储库的私钥。如果您从该系统和用户运行ssh -v git@bitbucket.org,它会建立连接并提及您的用户名吗?

    【讨论】:

    • 啊,现在我明白了:问题是我有多个用于多个帐户的 BitBucket SSH 密钥。现在的问题是cordova cli工具使用git(似乎是硬编码的:-()并且该用户链接到错误的帐户。更改此链接是不可能的。我还尝试在〜创建一个“配置”文件/.ssh 并更改主机(如此处所述 developer.atlassian.com/blog/2016/04/… )这也不起作用(cordova cli 工具说不支持的 URL 格式)。除非没有办法告诉 cordova cli 工具不要使用“git”用户我'我搞砸了。
    • 您可能应该重新阅读我的答案:SSH 命令使用“git”还是真实用户名并不重要,只要使用的 SSH 密钥与具有权限的用户相关联.您可以通过运行 ssh -v username@bitbucket.org 和 ssh -v git@bitbucket.org 来确认这一点,两者的输出应该相同。
    • 我明白了。但正如我所写,我同时加载了 两个 ssh 密钥,因为我需要在一台计算机上从两个不同的帐户结帐。因此这两个命令没有得到相同的输出。
    猜你喜欢
    • 2017-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多