R语言修改安装包的默认储存位置

查看默认的安装包位置

一般会有两个目录,如下,第一个目录是当前用户的目录,当前用户有写入权限;第二个为系统级别的目录,对所有用户适用

.libPaths()

[1] “C:/Users/HuEn/Documents/R/win-library/3.6”
[2] “C:/Program Files/R/R-3.6.3/library”

第一种方法会修改当前用户的R包位置

这种方法是一次性的,每次打开R都需要使用
使用.libPaths()来指定

.libPaths("E:/R_library")
.libPaths()

[1] “E:/R_library”
[2] “C:/Program Files/R/R-3.6.3/library”

可以看到用户级别的目录已经被修改

第二种方法 永久改变 永久有效

这种方法其实和第一种方法一样,只不过是使R每次启动时都会自动运行第一种方法。

  • 这种方法主要是通过修改安装目录下 /etc/profile.site文件来完成,我对 该文件的理解是和linux下的~/.profile配置文件的作用一样,在里面写入代码后启动R时会自动运行。

看图
在这里插入图片描述

  • 需要注意的一点是,我的R是安装在C盘的,如果要修改该配置文件,则需要首先获取该文件的权限

修改文件后保存,然后重启Rstudio,可以看到如期运行了print(“Welcome!”),上面的.libPaths(c(“E:/R_library”,.libPaths()))也运行陈工了,可以再运行.libPaths()看一下效果

.libPaths()

[1] “E:/R_library”
[2] “C:/Users/HuEn/Documents/R/win-library/3.6”
[3] “C:/Program Files/R/R-3.6.3/library”

  • 为什么在设置目录的时候还要把原来的目录跟在后面呢,这是由于在原目录已经有部分预装的基础包存在了,当然也可以提前把这些包都移动到目标目录中

在这里插入图片描述

第三种方法 修改环境变量

R_LIBS_SITE: 用来设置系统级别的目录
R_LIBS_USER:用来设置用户级别的目录

  1. 尝试设置用户级别

在这里插入图片描述
结果如下:

在这里插入图片描述
可以看到多出来了一个我们设置的目录,但是位于次序2,也就是说安装包不会优先安装到该目录,而次序一的目录为用户级别,所以试着修改为用户级别

在这里插入图片描述
结果如下:
在这里插入图片描述

可以看到达到了我们的目的,但是至于为什么设置用户变量会替换原有的变量。但是设置系统变量却不会,我暂时不清楚,有谁清楚可以告诉我一下

总结

推荐使用第二种方法,希望搞清楚第三种方法。。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐