相关疑难解决方法(0)

RStudio显示了一个不同的$ PATH变量

可能重复的问题,但我不知道RStudio的启动过程,以告诉问题是否相同.我在Linux上使用RStudio Desktop v0.99.442.从RStudio里面的控制台,我运行

system("echo $PATH")
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Run Code Online (Sandbox Code Playgroud)

但是,我的真实$PATH(我echo $PATH从控制台看到的)有很多其他程序,我希望能够使用来自R的system()来调用.例如,在我的.bashrc中,我有tabix附加到$PATH.

奇怪的是当我从控制台内的R会话中运行相同的命令时,我得到了

system("echo $PATH")
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games;/path/to/bcftools-1.2/htslib-1.2.1/tabix
Run Code Online (Sandbox Code Playgroud)

哪个是对的.因此,RStudio中的R会话与控制台中的R会话之间存在差异.它们不会加载相同的环境变量.如何让RStudio使用正确版本的$ PATH?

path-variables r rstudio

11
推荐指数
2
解决办法
5313
查看次数

R .libPaths()RStudio和命令行R之间的区别

当我从命令行运行R时:

> library(ggplot2)
...
> path.package('ggplot2')
[1] "/home/yang/R/x86_64-pc-linux-gnu-library/2.13/ggplot2"
> .libPaths()
[1] "/home/yang/R/x86_64-pc-linux-gnu-library/2.13"
[2] "/usr/local/lib/R/site-library"                
[3] "/usr/lib/R/site-library"                      
[4] "/usr/lib/R/library"                           
> Sys.getenv('R_LIBS_USER')
[1] "~/R/x86_64-pc-linux-gnu-library/2.13"
Run Code Online (Sandbox Code Playgroud)

(注意:当我从我的shell中检查时,该环境变量实际上不存在.)

但是从同一个盒子上运行的RStudio Server,以及作为同一用户登录后:

> path.package('ggplot2')
[1] "/home/yang/R/library/ggplot2"
> .libPaths()
[1] "/home/yang/R/library"              "/usr/local/lib/R/site-library"    
[3] "/usr/lib/R/site-library"           "/usr/lib/R/library"               
[5] "/usr/lib/rstudio-server/R/library"
> Sys.getenv('R_LIBS_USER')
[1] "/home/yang/R/library"
Run Code Online (Sandbox Code Playgroud)

你能解释为什么这些在默认情况下不同吗?这是RStudio定制吗?(为什么?)先谢谢.

r rstudio

6
推荐指数
2
解决办法
5686
查看次数

标签 统计

r ×2

rstudio ×2

path-variables ×1