Pet*_*900 4 r devtools gitlab install.packages renv
我有一个本地 GitLab 帐户,其中包含一个 R 包,可以通过以下方式安装:
devtools::install_git(
url = "http://my-gitlab/my-projects/package",
credentials = git2r::cred_user_pass("user", "pass")
)
Run Code Online (Sandbox Code Playgroud)
当我运行renv::init()
包源时未知。入门文章确实详细介绍了如何设置函数来处理私有存储库,但在使用devtools
和时我无法弄清楚 GitLab 的情况git2r::cred_user_pass
。我可以将GIT_USER
和存储GIT_PASSWORD
在.Renviron
文件中,但我不确定如何强制init
使用这些凭据的用户devtools::install_git
使用该功能。我确实尝试过,但后来出现错误:
fatal: could not read Username for 'http://my-gitlab': No such device or address
Run Code Online (Sandbox Code Playgroud)
他们提供的所有示例选项都使用 GitLab 令牌进行身份验证:
# use a named list directly
options(renv.auth = list(
MyPackage = list(GITHUB_PAT = "<pat>")
))
Run Code Online (Sandbox Code Playgroud)
也许有更好的方法从本地 GitLab 存储库安装,可以更好地配合使用renv
?
对于遇到同样问题的其他人来说,这对我有用(请参阅此处):
api
. 注意:我不确定这是否必须是“api”,我没有检查所有选项,但它对我有用Sys.setenv(GITLAB_PAT = <...>)
options(renv.config.gitlab.host = "http://my-gitlab-server")
。注意:我必须包含“http://”才能使其正常工作。renv::install("gitlab::project/package")
renv::install("gitlab@my-gitlab-server::project/package")