安装新版本R,报错R包版本冲突
前一段时间,安装了R4.0,然后就发现R包各种出错,要求重装,好不容易装好了R包,再转回R3.6.3时,发现R3.6.3的R包又出现了问题。报错信息大概类似下图:
每一次R更新总是这样的问题,没办法只能想办法解决一下。
R包搜索路径存在非版本依赖文件夹
在查看此时R包搜索路径,发现了一个问题:
导入R包的第一搜索路径是一个无版本依赖的目录(路径中没有3.6、3.6.3等R版本信息),那么如果是使用R4.0的话,且也是在使用这个目录,那么自然会造成R包的版本混乱。果不其然:
原来是这个地方的问题,先尝试将这个文件夹改名,然后重新测试,提示很多包不存在,需要重新安装,但是R包版本冲突的问题已经不出现了,所以主要就是这个文件夹的问题。
环境变量R_LIBS_SITE的锅
这个路径为什么会导入呢?
查看R的配置文件Rprofile文件,它在R的base包的R文件夹下,发现R创建包路径时会读取一个环境变量R_LIBS_SITE。
然后去查看环境环境,真的发现了这个地址:
问题找到,只需要把这个环境变量删除,再把非版本依赖的R包文件夹(C:UsersDELL/.RLibrary
)删除,重新安装缺失的包就好。谨慎起见,我把这个环境变量改了,R包文件夹也是先改名。
现在我已经彻底删除这个环境变量了。