首页 > 解决方案 > 在 Docker 容器中读取 CRAN archive.rds 失败

问题描述

我正在尝试在 Docker 映像中安装一些特定版本的 R 包。为此,我编写了一个查询 CRAN 的 archive.rds 元数据的函数,类似于:

meta <- paste0(contrib.url(getOption("repos"), "source"), "/Meta/archive.rds")
con <- gzcon(url(meta, "rb"))
readRDS(con)

这在 Windows 10 (Rstudio) 和 Debian Stretch (base R) 上运行良好,但是一旦我把它放在一个 r-base Docker 映像中,就会返回以下错误:

Error in readRDS(con) : embedded nul in string: '\004\0\t\0\0\0'

我不知道为什么会发生这种情况以及如何解决这个问题?我唯一能想到的是语言环境,但这是无处不在的 UTF-8(工作系统上的 en_GB,Docker 内的 en_US)。

标签: rcrannul

解决方案


推荐阅读