0

我花了一天时间尝试在 R 中加载我保存在 renv 锁定文件中的适当包版本。

我使用了 RVAideMemoire 包,它与 bioconductor 中的 mixOmics 捆绑在一起,无法使用renv::restore().

我按照此处列出的步骤安装了适当版本的 bioconductor (3.11) 以获得 moxOmics 版本 6.12.1。

R如何安装指定版本的生物导体包?

不幸的是,我最终得到了 mixOmics 版本 6.14.1。我尝试使用以下方法加载早期版本:

BiocManager::install("mixOmics", version = '6.12.1')

这导致了以下错误:

Error: version '6.12.1' must have two components, e.g., '3.7'

这似乎有点不清楚,我认为最后的附加“.1”可能会导致问题,但我尝试加载省略最后一个“.1”的版本,如图所示:

BiocManager::install("mixOmics", version = "6.12")

我得到另一个错误:

Error: unknown Bioconductor version '6.12'; see https://bioconductor.org/install

我在这里有点茫然。renv::restore()只要 mixOmics 软件包安装一直失败,该功能就不会完成更新,所以我似乎有点卡住了,直到我能理顺这个问题。

编辑 只是为 renv 错误提供更多信息,这是我收到的消息:

错误:无法检索包 'mixOmics' 另外:警告消息:
1:在 system2("curl", args$data(), stdout = TRUE, stderr = TRUE) 中:运行命令 '"curl" --config "C :/Users/Corey/AppData/Local/Temp/RtmpuYYvKB/renv-tempdir-3d7050aa2ac3/renv-download-config-3d7076f57e1c"' 有状态 22
2: 在下载器中(url, destfile, type, request, headers): curl: (22) 请求的 URL 返回错误:404
3: 在 system2("curl", args$data(), stdout = TRUE, stderr = TRUE) : running command '"curl" --config "C:/Users/Corey /AppData/Local/Temp/RtmpuYYvKB/renv-tempdir-3d7050aa2ac3/renv-download-config-3d701ff05e24"' 的状态为 22
4:在下载器中(url、destfile、type、request、headers): curl:(22) 请求的 URL 返回错误:404`

在尝试了使用的初步建议后,
options(renv.settings.bioconductor.version = "3.11") renv::install("bioc::mixOmics@6.12.1")
我得到了以下错误:

'getOption("repos")' 替换 Bioconductor 标准存储库,有关替换存储库的详细信息,请参阅 '?repositories':CRAN:https
://cran.rstudio.com 查询存储库以获取可用的二进制包......完成!
查询可用源包的存储库...完成!检索'https://bioconductor.org/packages/3.12/bioc/src/contrib/Archive/mixOmics/mixOmics_6.12.1.tar.gz' ...检索'https://bioconductor.org/packages/3.12/data /annotation/src/contrib/Archive/mixOmics/mixOmics_6.12.1.tar.gz' ...检索'https://bioconductor.org/packages/3.12/data/experiment/src/contrib/Archive/mixOmics/mixOmics_6。 12.1.tar.gz' ...检索'https://bioconductor.org/packages/3.12/workflows/src/contrib/Archive/mixOmics/mixOmics_6.12.1.tar.gz' ...检索'https:// bioconductor.org/packages/3.12/books/src/contrib/Archive/mixOmics/mixOmics_6.12.1.tar.gz' ...检索'https://cran.rstudio.com/src/contrib/Archive/mixOmics/mixOmics_6 .12.1.tar.gz' ...
错误:无法检索包'
另外:有 24 个警告(使用 warnings() 来查看)

4

1 回答 1

1

BiocManager::install()不提供安装特定版本包的接口。version 参数的文档指出:

version: 'character(1)'要安装的Bioconductor版本,例如,'version = "3.8"'。特殊符号 'version = "devel"' 安装当前的 'development' 版本。

也就是说,它与 Bioconductor 版本有关,而不是包版本。

也就是说,您应该能够使用renvBioconductor 安装特定版本的软件包。例如:

options(renv.settings.bioconductor.version = "3.11")
renv::install("bioc::mixOmics@6.12.1")

您还可以使用将所需版本的renv::settings$bioconductor.version("3.11")Bioconductor 存储为项目设置,供.renvrestore()

我使用了与 bioconductor 中的 mixOmics 绑定的包 RVAideMemoire,它不能使用 renv::restore() 自动加载。

我很想知道为什么renv::restore()你失败了。

编辑:根据您的输出,您正在尝试使用 Bioconductor 3.12,但该版本的 Bioconductor 不提供 mixOmics 6.12.1。您需要设置所使用的 Bioconductor 版本,renv如本答案中所述。(您可能还需要安装最新版本的renv以获得对此的支持。)

于 2022-02-24T18:46:38.647 回答