如何从内网非公开托管的Git仓库安装R包?
内网私有Bitbucket Git仓库安装R包的可行方案
方法1:使用devtools::install_git直接拉取Git仓库
本地环境安装Git客户端且有权限访问内网仓库即可使用,无需提前打包上传zip包。
# HTTPS协议示例 devtools::install_git("https://bitbucket.example.com/stash/projects/PROJECT/repos/package.git") # SSH协议示例(需提前配置SSH密钥免密访问) devtools::install_git("git@bitbucket.example.com:PROJECT/package.git") # 指定安装特定分支/标签/提交记录 devtools::install_git("https://bitbucket.example.com/stash/projects/PROJECT/repos/package.git", ref = "v1.0.1")
方法2:使用remotes::install_bitbucket适配私有Bitbucket部署
remotes是从devtools拆分出来的轻量远程安装工具,原生支持自定义域名的私有Bitbucket实例,无需手动拼接Git地址。
首先安装remotes包(未安装时执行):
install.packages("remotes")
安装示例:
remotes::install_bitbucket( repo = "PROJECT/package", host = "bitbucket.example.com/stash", auth_token = "你的内网Bitbucket个人访问令牌(PAT)", # 需要认证时添加 ref = "dev" # 可选,指定安装的分支/标签/提交 )
方法3:使用Bitbucket自动生成的zip包配合install_url安装
之前调用install_url报错是因为传入的是仓库主页地址,而非zip下载地址。Bitbucket会自动生成任意分支/标签的zip包,不需要你手动打包上传到仓库。
# 示例为main分支的自动生成zip包地址,替换路径中的分支名即可获取对应版本的包 devtools::install_url( "https://bitbucket.example.com/stash/projects/PROJECT/repos/package/archive/main.zip", auth_token = "你的内网Bitbucket个人访问令牌(PAT)" )
通用注意事项
- 所有方法都要求R包仓库根目录存在标准
DESCRIPTION文件,这是R识别可安装包的必要前提 - 私有仓库需要配置认证:HTTPS协议推荐使用个人访问令牌(PAT),避免明文填写密码;SSH协议提前配置好本地SSH密钥的仓库访问权限
- 如果需要自动安装R包的依赖项,可在安装函数中添加
dependencies = TRUE参数
内容的提问来源于stack exchange,提问作者jcubic
相关产品推荐
相关产品推荐

