当您尝试在R中安装软件包并且您没有访问默认库路径时,R会询问您:
您想使用个人图书馆吗?
你想创建一个个人图书馆'〜/ path'安装 打包成?
但是,如果您运行的是Rscript,则这些消息将不会显示,安装将失败。我可以预定义一个特定路径并指示install.packages
使用它,但我不想创建一个特定于此Rscript的附加库路径。我只想使用默认的个人库。有没有办法强制创建个人图书馆而不需要互动?
答案 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在评论中指出的那样,强制安装软件包可能不是一个好主意,因此请自担风险。