尝试添加新的库目录

时间:2018-10-04 18:20:12

标签: r rstudio

我在Linux centos上使用托管的RStudio。当我尝试安装软件包时,出现非零退出状态错误。我已经安装了R-devel。

从尝试安装软件包时将输出读取到r控制台,看来我的用户无法访问默认的库路径。

我读过this SO帖子,内容涉及添加新的库目录,甚至将其设置为默认目录。

在RStudio GUI的右下窗格中,我创建了一个新目录“ mylibs”。

我尝试根据SO帖子添加到libPaths():

.libPaths( c( .libPaths(), "~/mylibs") )

然后我输入了.libPaths()

.libPaths()
[1] "/home/rstudio/R/x86_64-redhat-linux-gnu-library/3.4"
[2] "/usr/lib64/R/library"                               
[3] "/usr/share/R/library"   

所以看起来好像失败了。我想知道是否没有指定正确的目录。因此,在RStudio中,我键入了getwd(),这表明我在"/home/rstudio"中。因此,我尝试了:.libPaths( c( .libPaths(), "~/home/rstudio/mylibs") )

但是,当我选中.libPaths()时,没有变化,与上面显示的3相同。

如何将mylibs目录添加到.libPaths(),以便可以下载和安装软件包?

1 个答案:

答案 0 :(得分:1)

按从左到右的顺序呼叫.libPaths() 。在此CentOS机器上:

R> .libPaths()
[1] "/home/USER/R/x86_64-redhat-linux-gnu-library/3.4" "/usr/local/lib/R/site-library"
[3] "/usr/lib64/R/library"                             "/usr/share/R/library"  
R>
R> .libPaths("/tmp")   # adding in session
R> .libPaths()
[1] "/tmp"                  "/usr/local/lib/R/site-library"
[3] "/usr/lib64/R/library"  "/usr/share/R/library"         
R> 

您可以通过启动时读取的不同“点”文件(即.Renviron.Rprofile等)来控制进入那里的内容。有关所有血腥细节,请参见help(Startup)

编辑:关于@MtFlick的评论:

R> .libPaths("/DoesNotExist")
R> .libPaths()
[1] "/usr/local/lib/R/site-library" "/usr/lib64/R/library"   
[3] "/usr/share/R/library"         
R>