每次升级R时,我都必须重新安装我使用的软件包(从源代码中重新安装,因此必须重新编译它们以供新版本使用)。这是一种正确的、可以理解的行为,所以我调用install.packages并得到一个错误,因为用户可写目录"~/R/%p-library/%v"还不存在,而且.libPaths()中的所有其他目录都在/usr/下而不是用户可写的。此行为记录在引用的页面中。
因此,在获得安装错误后,我必须这样做:
> dir.create(Sys.getenv("R_LIBS_USER"))
> .libPaths(Sys.getenv("R_LIBS_USER"))
> install.packages(c("igraph","entropy",...))我的问题是:人们如何处理这个问题?
每次升级后手工创建目录?(但这不是很乏味吗?)
将dir.create调用添加到.Rprofile?(apparently not)
编辑:我似乎记得,当我开始使用R时,这个库目录不需要我的操作就出现了;但是我可能错了……
发布于 2013-05-03 16:40:09
您可以尝试的一件事是在您的R_LIBS目录中的.REnviron文件中指定一个$HOME$,例如,我在Windows上工作,所以我的.REnviron中的第一行类似于R_LIBS="C:\Some\path\library"。
然后,当您从主要版本更改中进行更新时,只需使用:
update.packages( lib.loc = .libPaths()[1] , checkBuilt = TRUE )要查找您的$HOME$目录,请使用:
Sys.getenv("HOME")https://stackoverflow.com/questions/16363572
复制相似问题