从 Windows 上的私有 GitLab 服务器安装包
Installing a package from private GitLab server on Windows
我正在努力从 Windows 计算机上的 GitLab 存储库安装软件包。
我发现了不同的提示,但仍然无法从 GitLab 安装我的包。首先,我用 puttygen.exe 生成了一个 public 和私钥。之后需要更改文件,我必须删除注释和内容,以便它们看起来像我的 Unix 系统上的文件。所以现在,public 和私钥文件都只有一行。
我试图通过 devtools::install_git
安装我的包,这需要很长时间,我收到错误消息
Error: Failed to install 'unknown package' from Git:
Error in 'git2r_remote_ls': Failed to authenticate SSH session: Unable to send userauth-publickey request
并且使用 devtools::install_gitlab
我得到了不同的错误消息,我有某种感觉,生成的 link 不适合我的 GitLab 服务器。
Error: Failed to install 'unknown package' from GitLab:
cannot open URL 'https://gitlab.rlp.net/api/v4/projects/madejung%2FMQqueue.git/repository/files/DESCRIPTION/raw?ref=master'
我目前要测试的完整代码是
creds <- git2r::cred_ssh_key(publickey="~/.ssh/id_rsa_gitlab.pub",
privatekey="~/.ssh/id_rsa_gitlab")
devtools::install_git(
url='git@gitlab.rlp.net:madejung/MQqueue.git',
quiet=FALSE,
credentials=creds)
devtools::install_gitlab(
repo='madejung/MQqueue.git',
host='gitlab.rlp.net',
quiet=FALSE,
credentials=creds
)
我的 id_rsa_gitlab.pub
文件看起来像这样,只有一行:
ssh-rsa AAAA....fiwbw== rsa-key-20200121
id_rsa_gitlab
文件只有代码:
AAABA.....3WNSIAGE=
更新
在我的 Mac 系统上,它在通过 homebrew
安装 libssh2
库并使用 install.packages("git2r", type = "source")
.[=26 重新编译 git2r
后按预期工作=]
所以我机器上的工作代码是:
creds <- git2r::cred_ssh_key(publickey="~/.ssh/id_rsa_gitlab.rlp.net.pub",
privatekey="~/.ssh/id_rsa_gitlab.rlp.net")
devtools::install_git(
url='git@gitlab.rlp.net:madejung/MQqueue.git',
quiet=FALSE,
credentials=creds
)
由于某些奇怪的原因,devtools::install_git
调用需要大约一分钟才能最终失败。我不知道这里的问题在哪里。
经过近一天的努力,我找到了一个我可以接受的解决方案...
我首先在我的 gitlab 帐户中创建了一个 PAT(个人访问令牌)并授予了完整的 API 访问权限。由于某种原因,read_only 访问无效,我现在已经厌倦了找出问题所在。
在此之后我仍然无法安装我的包,并且由于某种原因,wininet
下载设置不起作用。
我使用命令 capabilities("libcurl")
检查 libcurl
在我的 windows 上是否可用,并试图将 wininet
覆盖为 libcurl
在安装函数中使用 method='libcurl'
。不知何故,这还不够,所以我直接覆盖了选项变量 download.file.method
。
options("download.file.method"='libcurl')
devtools::install_gitlab(
repo='madejung/MQqueue',
auth_token='Ho...SOMETHING...xugzb',
host='gitlab.rlp.net',
quiet=FALSE, force=TRUE
)
我正在努力从 Windows 计算机上的 GitLab 存储库安装软件包。
我发现了不同的提示,但仍然无法从 GitLab 安装我的包。首先,我用 puttygen.exe 生成了一个 public 和私钥。之后需要更改文件,我必须删除注释和内容,以便它们看起来像我的 Unix 系统上的文件。所以现在,public 和私钥文件都只有一行。
我试图通过 devtools::install_git
安装我的包,这需要很长时间,我收到错误消息
Error: Failed to install 'unknown package' from Git:
Error in 'git2r_remote_ls': Failed to authenticate SSH session: Unable to send userauth-publickey request
并且使用 devtools::install_gitlab
我得到了不同的错误消息,我有某种感觉,生成的 link 不适合我的 GitLab 服务器。
Error: Failed to install 'unknown package' from GitLab:
cannot open URL 'https://gitlab.rlp.net/api/v4/projects/madejung%2FMQqueue.git/repository/files/DESCRIPTION/raw?ref=master'
我目前要测试的完整代码是
creds <- git2r::cred_ssh_key(publickey="~/.ssh/id_rsa_gitlab.pub",
privatekey="~/.ssh/id_rsa_gitlab")
devtools::install_git(
url='git@gitlab.rlp.net:madejung/MQqueue.git',
quiet=FALSE,
credentials=creds)
devtools::install_gitlab(
repo='madejung/MQqueue.git',
host='gitlab.rlp.net',
quiet=FALSE,
credentials=creds
)
我的 id_rsa_gitlab.pub
文件看起来像这样,只有一行:
ssh-rsa AAAA....fiwbw== rsa-key-20200121
id_rsa_gitlab
文件只有代码:
AAABA.....3WNSIAGE=
更新
在我的 Mac 系统上,它在通过 homebrew
安装 libssh2
库并使用 install.packages("git2r", type = "source")
.[=26 重新编译 git2r
后按预期工作=]
所以我机器上的工作代码是:
creds <- git2r::cred_ssh_key(publickey="~/.ssh/id_rsa_gitlab.rlp.net.pub",
privatekey="~/.ssh/id_rsa_gitlab.rlp.net")
devtools::install_git(
url='git@gitlab.rlp.net:madejung/MQqueue.git',
quiet=FALSE,
credentials=creds
)
由于某些奇怪的原因,devtools::install_git
调用需要大约一分钟才能最终失败。我不知道这里的问题在哪里。
经过近一天的努力,我找到了一个我可以接受的解决方案...
我首先在我的 gitlab 帐户中创建了一个 PAT(个人访问令牌)并授予了完整的 API 访问权限。由于某种原因,read_only 访问无效,我现在已经厌倦了找出问题所在。
在此之后我仍然无法安装我的包,并且由于某种原因,wininet
下载设置不起作用。
我使用命令 capabilities("libcurl")
检查 libcurl
在我的 windows 上是否可用,并试图将 wininet
覆盖为 libcurl
在安装函数中使用 method='libcurl'
。不知何故,这还不够,所以我直接覆盖了选项变量 download.file.method
。
options("download.file.method"='libcurl')
devtools::install_gitlab(
repo='madejung/MQqueue',
auth_token='Ho...SOMETHING...xugzb',
host='gitlab.rlp.net',
quiet=FALSE, force=TRUE
)