通常,Bioconductor 旨在与特定版本的 R 一起使用,因此无法保证将旧版本的 Bioconductor(或任何 R 包)与新版本的 R 一起使用。最好在 Bioconductor 上询问有关 Bioconductor 包的问题mailing list。可能您的意思是您当前的 Bioconductor 安装存在一些问题,而您真正最好的做法是解决问题。
查看installed.packages() 的LibPath,并与.libPaths() 的输出进行比较。我有
> head(installed.packages()[,"LibPath"], 1)
affy
"/home/mtmorgan/R/x86_64-unknown-linux-gnu-library/3.0"
> .libPaths()
[1] "/home/mtmorgan/R/x86_64-unknown-linux-gnu-library/3.0"
[2] "/home/mtmorgan/bin/R-3-0-branch/library"
好消息!我所有的 Bioc 包都在一个特定的库中。然后我可以安排(参见?.libPaths)以 .libPaths 指向 Bioc 2.12 包的新位置来启动 R,例如,
R_LIBS_USER="/home/mtmorgan/R/x86_64-unknown-linux-gnu-library/3.0-2.12" R
然后显式安装我要使用的BiocInstaller包的版本,例如,
install.packages("BiocInstaller",
repos="http://bioconductor.org/packages/2.12/bioc")
和往常一样library(BiocInstaller); biocLite()。
如果我的 Bioconductor 软件包安装在 R 主目录中,那么我将使用 remove.packages() 而不是设置 .libPaths(),或者我会运行 BiocInstaller::biocValid() 并按照说明恢复“太新”的软件包。