首页 > 解决方案 > 自己的 R 包 .onload 问题。构建包时失败

问题描述

我正在尝试使用 RStudio 从我在 Github 上的私有存储库中安装和加载 R 中的包。

我知道这是在一个名为 zzz.R 的文件中使用 .onLoad 命令完成的,该文件位于包的 /R 文件夹中。所以我尝试了这个,当我尝试使用 roxygen::roxygenise() 构建包时,安装并重新启动以在 RStudio 中构建包,我收到以下错误:

error: Failed to install 'repo-name' from GitHub:

...

repo-name.tar.gz' had non-zero exit status
Error: loading failed

我在 zzz.R 文件中使用的代码如下:

.onLoad <- function(libname, pkgname){
  GitHubSettings = list(
    ## Github token for accessing yth
    git_token = "xxxx",
    quiet = TRUE,  ## If TRUE, suppress output.
    force = TRUE,  ## Force installation, even if the remote state has not changed since the previous install.
    upgrade = 'never'
  )

  devtools::install_github(
    repo = "my-package/my-repo",
    subdir = "repo-name",
    auth_token = GitHubSettings$git_token,
    ref   = "master",## this needs to be master when the package is finalised
    quiet = GitHubSettings$quiet,
    force = GitHubSettings$force,
    upgrade = GitHubSettings$upgrade
  )

  devtools::install_github(
    repo = "my-package2/my-repo2",
    subdir = "repo2-name",
    auth_token = GitHubSettings$git_token,
    ref   = "master",## this needs to be master when the package is finalised
    quiet = GitHubSettings$quiet,
    force = GitHubSettings$force,
    upgrade = GitHubSettings$upgrade
  )

  library(repo1)
  library(repo2)

}

我在此示例中使用通用包名称和存储库名称。

我还注释掉了一个包及其各自的 library() 包,以确定一个或另一个包是否导致失败。这两个包一起或单独发生。

标签: rgithubpackageonload

解决方案


推荐阅读