错误:在Linux上编译R 3.6.0时,无法在软件包“ graphics”中加载R代码

8t1*_*081 7 bash r bitbucket-pipelines amazon-linux

amazonlinux:2018.03.0.20190212在bitbucket管道中的docker映像上构建R时遇到错误。奇怪的是,如果我运行EC2(Amazon Linux 2018),则可以运行完全相同的命令而不会出错。

有谁知道如何解决这个问题?

make[6]: Entering directory `/opt/R/src/library/graphics/src'
mkdir -p -- ../../../../library/graphics/libs
make[6]: Leaving directory `/opt/R/src/library/graphics/src'
make[5]: Leaving directory `/opt/R/src/library/graphics/src'
make[4]: Leaving directory `/opt/R/src/library/graphics'
make[4]: Entering directory `/opt/R/src/library/graphics'
byte-compiling package 'graphics'
Error : .onLoad failed in loadNamespace() for 'utils', details:
  call: system(paste(which, shQuote(names[i])), intern = TRUE, ignore.stderr = TRUE)
  error: error in running command
Error: unable to load R code in package 'graphics'
Execution halted
Run Code Online (Sandbox Code Playgroud)

在EC2上手动进行:

make[6]: Leaving directory `/opt/R/src/library/graphics/src'
make[5]: Leaving directory `/opt/R/src/library/graphics/src'
make[4]: Leaving directory `/opt/R/src/library/graphics'
make[4]: Entering directory `/opt/R/src/library/graphics'
byte-compiling package 'graphics'
make[4]: Leaving directory `/opt/R/src/library/graphics'
make[3]: Leaving directory `/opt/R/src/library/graphics'
make[3]: Entering directory `/opt/R/src/library/stats'
building package 'stats'
Run Code Online (Sandbox Code Playgroud)

我对R不太熟悉,也没有发现错误消息特别有用。

小智 6

我有同样的问题,虽然不是 Docker 而是 Singularity。对我来说,结果是我错过了容器中的“哪个”二进制文件。安装“哪个”包(我在 CentOS7 上)后,我能够通过该错误。

  • amazonlinux:2 中也缺少“which”——添加它可以解决此问题。 (2认同)