【问题标题】:R asking for unknown dependency when loading packageR在加载包时要求未知依赖
【发布时间】:2016-01-13 16:36:15
【问题描述】:

我是包“rase”(link) 的维护者。

自 2015 年 11 月 9 日以来,我根本没有更改代码,当时包可以毫无问题地加载。但是,我在加载包时收到了询问以下问题的电子邮件:

> library(rase)
Error in loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]) : 
  there is no package called ‘Biostrings’
Error: package or namespace load failed for ‘rase’

然后我尝试在自己的计算机上执行此操作,并且收到了相同的消息。从我上次成功加载包(2015 年 11 月)到现在,我将 R 升级到 v 3.2.3。天真地,我重新安装了 v3.2.2,但出现了同样的错误。我已经彻底检查了 rase 代码(git here),但没有进行任何更改,也没有提及“Biostrings”(或其中的任何函数)。 “rase”依赖项和导入不包括“Biostrings”。

任何帮助将不胜感激,因为我不知道为什么会发生这种情况(我是创建软件包时的新手)。我想我可以安装“Biostrings”,但我不想做出看似不必要的依赖。

这是我的会话信息:

> sessionInfo()
R version 3.2.2 (2015-08-14)    
Platform: x86_64-apple-darwin13.4.0 (64-bit)
Running under: OS X 10.11.2 (El Capitan)

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] ape_3.4          data.table_1.9.6

loaded via a namespace (and not attached):
 [1] quadprog_1.5-5          lattice_0.20-33         mvtnorm_1.0-3           msm_1.6                
 [5] MASS_7.3-43             chron_2.3-47            grid_3.2.2              nnls_1.4               
 [9] nlme_3.1-121            magrittr_1.5            Matrix_1.2-2            splines_3.2.2          
[13] tools_3.2.2             igraph_1.0.1            maps_3.0.2              parallel_3.2.2         
[17] numDeriv_2014.2-1       survival_2.38-3         mnormt_1.5-3            clusterGeneration_1.3.4
[21] animation_2.4           expm_0.999-0         

【问题讨论】:

  • rase 导入 phytoolsphytools 导入 phangornphangorn 导入 Biostrings... 看起来像 phangorn recently added Biostrings as a dependency,所以它可能是 那个包坏了。
  • @MattParker +1,尽管不必暗示 phangorn 已“损坏”。
  • 感谢您的帮助@MattParker!

标签: r r-package


【解决方案1】:

Biostrings 是一个 BioConductor 软件包,您可以按照 on this page 的说明安装它:

## try http:// if https:// URLs are not supported
source("https://bioconductor.org/biocLite.R")
biocLite("Biostrings")

如果您将 Bi​​oC 添加为系统上的已知存储库,它也可以通过 install.packages() 安装。例如这样就可以了

r <- getOption("repos")
r["CRAN"] <- "http://cran.rstudio.com"
r["BioCsoft"] <- "http://www.bioconductor.org/packages/release/bioc"
options(repos = r)

在您的.RprofileRprofile.site 中。

【讨论】:

  • 我认为问题在于Biostrings 依赖项来自何处,而不是如何安装Biostrings 包。
  • @eipi10 我挖掘了依赖关系树 - 请参阅我对这个问题的评论。对我来说,问题变成了:rase 的每个用户是否都必须将 BioC 添加为存储库才能安装全套依赖项?
  • 我会这么说。这就是Depends: 的含义。 Suggests: 更宽松。
猜你喜欢
  • 1970-01-01
  • 2018-03-05
  • 1970-01-01
  • 2016-09-30
  • 1970-01-01
  • 2012-04-26
  • 1970-01-01
  • 1970-01-01
  • 2016-08-17
相关资源
最近更新 更多