Summary
创建包时,我可以在中列出 CRAN 依赖项Depends
列出在DESCRIPTION
file. 本文档概述了如何列出 Bitbucket 依赖项,例如。Remotes: bitbucket::sulab/mygene.r@default
.
但是,当需要身份验证才能访问存储库时,我不知道如何执行此操作。
Attempt
我尝试将以下代码放入主程序中packagename.R
文件。函数内容作为独立脚本顶部的片段可以正常工作:
.onLoad <- function(libname, pkgname) {
otherPackageVersion <- "1.0"
if (suppressWarnings(suppressPackageStartupMessages(require("otherPackageName", quietly = TRUE, character.only = TRUE)))) {
if (installed.packages()[installed.packages()[,"Package"] == "otherPackageName", "Version"] != otherPackageVersion) {
remove.packages("otherPackage")
devtools::install_bitbucket(sprintf("bitbucketUser/otherPackageName@%s", otherPackageVersion), auth_token = Sys.getenv("BITBUCKET_PAT"))
}
} else {
devtools::install_bitbucket(sprintf("bitbucketUser/otherPackageName@%s", otherPackageVersion), auth_token = Sys.getenv("BITBUCKET_PAT"))
}
}
但 R CMD 检查失败,表示挂起一段时间后无法加载:
checking whether package ‘packageName’ can be installed ... ERROR
Installation failed.
更多细节
的版本devtools
我已经加载的是1.12.0.9000
(see 这个 Github 线程)我安装使用devtools::install_github("hadley/devtools#1220")
。这允许我使用以下命令安装私有 Bitbucket R 软件包应用程序密码存储在环境变量中,而不是以明文形式提交我的用户名/密码。