最近做统计分析需要用到一些包,但是只兼容比较低一些版本的R(例如,现在R的最高版本是4.2.2,但需要能用3.6.3),于是需要重新安装很多包。其中大多数常用的包都有一个依赖包rlang(例如tidyverse,ggplot2等等)。于是在低版本上安装这个包,很容易出现报错:
“namespace ‘rlang’ 0.4.11 is being loaded, but >= 1.0.6 is required”
我也是看了很多帖子,大概有以下几种说法
- 首先,用
remove.packages('rlang')
把已有的包卸了,或者把已安装的低版本包删掉,重新安装高版本的包;其中可以从https://cran.r-project.org/src/contrib/Archive/直接找高版本的下载安装,或者直接重新装。
- 但我在这一步失败了,如果直接用
install.packages('rlang')
重新安的都会自动安到低版本的; - 如果是直接安下好的也会报错;
- 因为版本太高的安不了,所以要根据旧版本去下所有兼容的安装包。
- 这个是可行的,但是我要安装的几个大的包,都是有很多个依赖包要装,依赖包下又有依赖包……如果都一个一个找一个一个安,那也太多了……
- 有帖子说可以用
devtools
指定版本安装
- 但是devtools也是依赖rlang的,鸡生蛋蛋生鸡,整个卡死了……
最后的最后,我找到了一个方法,那就是下载Rtools(注意对应的版本),然后再把1中下好的高版本包手动安装,就成功了!我之前一直觉得Rtools可有可无,现在发现还是很有用的,希望对大家有帮助。