在R中自动创建个人库

时间:2016-10-05 16:35:18

标签: r rscript

当您尝试在R中安装软件包并且您没有访问默认库路径时,R会询问您:

  

您想使用个人图书馆吗?

     

你想创建一个个人图书馆'〜/ path'安装   打包成?

但是,如果您运行的是Rscript,则这些消息将不会显示,安装将失败。我可以预定义一个特定路径并指示install.packages使用它,但我不想创建一个特定于此Rscript的附加库路径。我只想使用默认的个人库。有没有办法强制创建个人图书馆而不需要互动?

1 个答案:

答案 0 :(得分:4)

您可以使用Sys.getenv("R_LIBS_USER")获取本地图书馆搜索位置。

这就是我最终要做的事情,这似乎是有效的(最困难的部分是测试解决方案,因为问题只发生在你第一次尝试安装软件包时):

# create local user library path (not present by default)
dir.create(path = Sys.getenv("R_LIBS_USER"), showWarnings = FALSE, recursive = TRUE)
# install to local user library path
install.packages(p, lib = Sys.getenv("R_LIBS_USER"), repos = "https://cran.rstudio.com/")
# Bioconductor version
biocLite(p, suppressUpdates = TRUE, lib = Sys.getenv("R_LIBS_USER"))

正如@hrbrmstr在评论中指出的那样,强制安装软件包可能不是一个好主意,因此请自担风险。