【发布时间】: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。这将是一个好的开始。
标签: r perl ubuntu perl-module rstudio-server