各位大神,最近我发现在操作系统“我的文档”里的.Renviron不生效,细节如下。
R版本及相关环境
R version 3.4.2 (2017-09-28)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 14393)
Matrix products: default
locale:
[1] LC_COLLATE=Chinese (Simplified)China.936
[2] LC_CTYPE=Chinese (Simplified)China.936
[3] LC_MONETARY=Chinese (Simplified)China.936
[4] LC_NUMERIC=C
[5] LC_TIME=Chinese (Simplified)China.936
attached base packages:
[1] stats graphics grDevices utils datasets grid methods
[8] base
loaded via a namespace (and not attached):
[1] compiler_3.4.2
起因
我在R console里library(ggplot2)
的时候发现提示“Error in library(ggplot2) : 不存在叫‘ggplot2’这个名字的程辑包”,因为我很确信我安装了这个包,所以知道问题肯定是出在了包的library目录上.
问题查找过程
首先,我很确信问题出在了library目录上。
我在R console中运行
.libPaths()
果然只有[1] "D:/Program Files/R/library",并没有"~/R/",我的包是安装在"~/R/"中的。
关于"~/R/"包目录
我根据谢益辉大神的R配置中的R配置一节在windows操作系统的“我的文档”文件夹添加了环境变量文件.Renviron,内容为R_LIBS_USER="~/R"。
这样每次启动时,根据Startup中的启动过程,R默认安装的时候没有"R_HOME/etc/Renviron.site"该文件,所以R应该会从操作系统的“我的文档”中去寻找.Renviron。因此.libPath()
的结果应该会包括"~/R/"目录,但是实际上并没有。
所以,不明白为什么该环境变量文件没有生效。
但是很奇怪的是,在Rstudio的Console里运行.libPaths()
返回值就是对的,如下:
.libPaths()
[1] "C:/Users/acer/Documents/R" "D:/Program Files/R/library"