解决conda报错: `x86_64-conda_cos6-linux-gnu-cc: command not found`
如何解决conda - rstudio-server的这个报错?
背景:
我在Windows subsystem for Linux下面安装了anaconda,并使用这个anaconda安装了R(顺便配置了一个conda env,叫做r420)。为了更方便的使用这个R,我又安装了R studio server,通过浏览器调用这个Linux版本的R。
最近在使用中,发现了一个问题:安装 R 包时,出现错误:/bin/sh: x86_64-conda_cos6-linux-gnu-cc: command not found
,这导致我没法安装新的软件包
解决方法:
经过检查,如果我在shell中调用R安装R包,则不会出错。因此不是R自带的编译工具链的问题。
经过上网搜索,猜测可能是Rstudio server环境变量中没有包含R自带的编译工具链。
我的Rtools编译工具链的路径为:
1 | /home/cyclin/wsl/anaconda3/envs/r420/bin |
在Rstudio的控制台中查询Rstudio server的环境变量
1 | > system('echo $PATH') |
可见,并没有包含Rtools编译工具链的路径。
这个环境变量应该是可以配置的。经过查询资料,发现Rstudio server有一个配置文件叫做/etc/rstudio/env-vars,这个配置文件应该是和环境变量有关的。因此我们修改一下这个文件
1 | # set virtual environment for Rstudio server. |
之后,重启Rstudio server的服务进程,在浏览器中重新打开Rstudio sever,在控制台中查询环境变量
1 | > system('echo $PATH') |
现在已经有了Rtools编译工具链的路径。
经过测试,现在可以在Rstudio中成功编译安装软件包。问题解决。