【问题标题】:pkgdown R package build_site function causes dependent packages unable to be loadedpkgdown R package build_site函数导致依赖包无法加载
【发布时间】:2016-04-26 20:19:46
【问题描述】:

我正在使用pkgdown 包为 R 包(称为 RTCGA)生成优雅的静态手册页。当我运行代码以生成静态文档作为网站时,我使用以下命令

> pkgdown::build_site()
Initialising site -------------------------------------------------------------------------------------
Copying '/home/mkosinski/R/x86_64-pc-linux-gnu-library/3.3/pkgdown/assets/jquery.sticky-kit.min.js'
Copying '/home/mkosinski/R/x86_64-pc-linux-gnu-library/3.3/pkgdown/assets/link.svg'
Copying '/home/mkosinski/R/x86_64-pc-linux-gnu-library/3.3/pkgdown/assets/pkgdown.css'
Copying '/home/mkosinski/R/x86_64-pc-linux-gnu-library/3.3/pkgdown/assets/pkgdown.js'
Building home -----------------------------------------------------------------------------------------
Writing '/home/mkosinski/GitHub/RTCGA/docs/index.html'
Building function reference ---------------------------------------------------------------------------
Loading RTCGA
Welcome to the RTCGA (version: 1.5.1).
trying URL 'http://gdac.broadinstitute.org/runs/stddata__2015_11_01/data/ACC/20151101/gdac.broadinstitute.org_ACC.Merge_mirnaseq__illuminahiseq_mirnaseq__bcgsc_ca__Level_3__miR_gene_expression__data.Level_3.2015110100.0.0.tar.gz'
Content type 'unknown' length 309876 bytes (302 KB)
==================================================
downloaded 302 KB

Warning: Topics missing from index: RTCGA-package, theme_RTCGA
Building articles -------------------------------------------------------------------------------------
Building article 'RTCGA_Workflow.html'
Building article 'Web_Applications.html'

此代码在 RTCGA 包项目的根目录中进行评估,并提供有关 RTCGA 已加载和文档已创建的信息。

但我在大多数页面的文档中发现了一个错误 - 有一个错误告诉

错误:找不到“RTCGA.rnaseq”所需的包“RTCGA”

所以没有一个例子可以运行。此外,当我在使用build_site 之后运行library(RTCGA.rnaseq) 时,我无法再加载依赖的RTCGA

> library(RTCGA)
> library(RTCGA.rnaseq)
Error: package ‘RTCGA’ required by ‘RTCGA.rnaseq’ could not be found

当我在新会话中运行 library(RTCGA.rnaseq) 而不调用 pkgdown::build_site 时,依赖的 RTCGA 包正常加载,没有任何警告。

我怀疑这是由build_site 执行的任何设置引起的,但我不知道如何解决它们以及如何使用pkgdown 包构建适当的静态文档。

有没有cmets?

【问题讨论】:

标签: r package-development


【解决方案1】:

看起来我找到了一个令人讨厌的解决方法。 RTCGA软件包在其示例中使用了8个数据包。每个数据包都需要加载 RTCGA。 pkgdown::build_site() 使用 devtools::load_all() 奇怪地只从 RTCGA 加载对象,但不允许在示例运行期间加载此包。

我已通过更改数据包的元信息(如

)从数据包的Depends 中删除了RTCGA
packages_to_remove_RTCGA_from_Depends <- 
  c("RTCGA.clinical",
    "RTCGA.mutations",
    "RTCGA.rnaseq",
    "RTCGA.RPPA",
    "RTCGA.mRNA",
    "RTCGA.miRNASeq",
    "RTCGA.methylation",
    "RTCGA.CNV")

sapply(packages_to_remove_RTCGA_from_Depends, function(data_package){
  Meta <- readRDS(file.path(.libPaths()[1], data_package, "Meta", "package.rds"))
  Meta$Depends <- list()
  saveRDS(Meta, file.path(.libPaths()[1], data_package, "Meta", "package.rds"))
})

【讨论】:

    猜你喜欢
    • 2021-12-14
    • 2023-04-02
    • 2016-09-30
    • 2014-04-29
    • 1970-01-01
    • 2015-02-26
    • 1970-01-01
    • 1970-01-01
    • 2020-03-18
    相关资源
    最近更新 更多