Rstudio 中的源 .bashrc

Posted

技术标签:

【中文标题】Rstudio 中的源 .bashrc【英文标题】:Source .bashrc in Rstudio 【发布时间】:2018-10-10 21:25:52 【问题描述】:

我刚刚在 Ubuntu 18.04 LTS 本地安装了一些 Perl 模块。

当像这样使用 RStudio 服务器调用它们时

system("perl -MBio::TreeIO -e 1")

我收到以下错误

在@INC 中找不到 Bio/TreeIO.pm(您可能需要安装 Bio::TreeIO 模块)(@INC 包含:/etc/perl /usr/local/lib/x86_64-linux-gnu/ perl/5.26.1 /usr/local/share/perl/5.26.1 /usr/lib/x86_64-linux-gnu/perl5/5.26 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/ 5.26 /usr/share/perl/5.26 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base)

当我在终端中source ~/.bashrc 时一切正常。

我尝试创建一个~/.Rprofile,其中包含:

system(". ~/.bashrc")

但不好。

【问题讨论】:

听起来您用来安装模块的 perl 与 RStudio 用来运行命令的 perl 不同。 .bashrc 中有什么东西会改变PATH 的内容吗? 是的! .bashrc 包含 `PATH="/home/acjfernandes/perl5/bin$PATH:+:$PATH";导出路径; PERL5LIB="/home/acjfernandes/perl5/lib/perl5$PERL5LIB:+:$PERL5LIB";导出 PERL5LIB; PERL_LOCAL_LIB_ROOT="/home/acjfernandes/perl5$PERL_LOCAL_LIB_ROOT:+:$PERL_LOCAL_LIB_ROOT";导出 PERL_LOCAL_LIB_ROOT; PERL_MB_OPT="--install_base \"/home/acjfernandes/perl5\"";导出 PERL_MB_OPT; PERL_MM_OPT="INSTALL_BASE=/home/acjfernandes/perl5";导出 PERL_MM_OPT; 好的,那么你需要说服RStudio使用相同的perl,或者你需要在RStudio使用的那个中安装你需要的模块。 怎么样?通过在系统范围内安装而不是在本地安装? 我对 R 或您的系统是如何设置的一无所知。如果你安装了你需要的模块没有首先运行.bashrc,那么你应该使用与RStudio相同的perl。这将是一个好的开始。 【参考方案1】:

根据在 R shell 中运行help(Startup) 访问的文档,您应该在主目录中创建一个文件.Renviron,该文件将在启动新的 R 会话时读取。例如:

.Renviron

FOOBAR=/foo/bar/foo/bar

R 外壳

R
R version 3.2.3 (2015-12-10) -- "Wooden Christmas-Tree"
Copyright (C) 2015 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
...

> cat(Sys.getenv("FOOBAR"), "\n")
/foo/bar/foo/bar 

因此,只需创建您的 .Renviron 文件,并将 PERL5LIB 变量设置为您的本地 perl 包安装目录。

【讨论】:

以上是关于Rstudio 中的源 .bashrc的主要内容,如果未能解决你的问题,请参考以下文章

RStudio配置R程序包的默认下载源

将屏幕一分为二的键盘快捷键,左侧的源窗格和控制台窗格

r [连接到Rstudio中的SQLite数据库] #R #SQLite #RStudio

rStudio 中的 TODO 注释

R Markdown 无法获取 RStudio 版本 - knit 中的错误消息

怎么更改Rstudio中的默认目录