6

每次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? (显然不是

编辑:我似乎记得,当我开始使用时R,这个库目录没有我的动作就出现了;但我可能错了...

4

1 回答 1

3

您可以尝试的一件事是在目录R_LIBS中的.REnviron文件中指定一个$HOME$,例如我在 Windows 上工作,所以我的第一行.REnviron类似于R_LIBS="C:\Some\path\library".

然后,当您从主要版本更改中进行更新时,您可以使用:

update.packages( lib.loc = .libPaths()[1] , checkBuilt = TRUE )

要找出您的$HOME$目录,请使用:

Sys.getenv("HOME")
于 2013-05-03T16:40:09.643 回答