在Windows 7 x64上,我安装了版本3.0.0的R.此外,我还将环境变量R_LIBS_USER设置为指向网络驱动器。在rgui.exe中,执行:
Sys.getenv("R_LIBS_USER")
输出我之前设置的相同值。同样来自R,将包安装到R_LIBS_USER指向的个人库中工作正常。到目前为止,非常好。
安装了RStudio版本0.97.551后,通过RStudio执行上述相同代码也会输出相同的值(如预期的那样)。但是,从RStudio,我尝试将软件包安装到个人库中失败了。该错误消息有效地表明RStudio无法写入由R_LIBS_USER定义的个人库。
在发布到stackoverflow之前,我检查了支持论坛的RStudio(http://support.rstudio.org/help/discussions/problems/4608-change-personal-library-for-installing-packages),其中管理员声明问题与R而不是RStudio有关。管理员继续引用代码
生成的RStudio文档?.libPaths
在RStudio IDE中。管理员还通过链接http://support.rstudio.org/help/kb/troubleshooting/getting-help-with-r提供了其他指导。
在查看IDE生成的文档和论坛链接后,我确定我的环境设置正确。然而,RStudio仍然失败。
是否有人能够使用默认情况下的文件系统位置使用RStudio个人库?
我应该更多地澄清我的需求。最终部署此应用程序的环境禁止普通用户以管理员身份运行RStudio,因此将重点放在R_LIBS_USER个人库上。所以虽然我知道这会起作用,但对我来说这不是一个现实的选择。
我需要的是RStudio专门写入R_LIBS_USER而不是尝试写入R_HOME(我对我认为它实际上正在尝试做的假设。)
答案 0 :(得分:0)
在.libPaths("~/your-lib-path-here")
添加一行.Rprofile
并重新启动R. .libPaths()
让您可以编写和读取默认库集。
或者,如果你可以控制安装命令(即你需要你的库可用,但它不一定是默认的),大多数R命令如install.packages
都有lib
允许您手动指定要安装到的库的参数。
您可以考虑使用诸如Packrat之类的R包管理系统,该系统可以自动完成将应用程序的依赖项安装到私有库的工作,而无需手动设置它。 (完全披露,我是这个软件包的贡献者。)它在RStudio下工作。