R-Rstudio-server无法安装devtools解决方法

参考:Error: package was installed by an R version with different internals; it needs to be reinstalled - Stack Overflow

在实验室服务器的Rstudio中想要安装devtools时,出现了一系列报错。

  1. 翻了很久,第一条error报错是
Error : package ‘stringi’ was installed by an R version with different internals; it needs to be reinstalled for use with this R version

所以第一步就是解决该问题
去搜索了一下这个报错,提供的方案书是将,检查一下已安装软件中对应的R版本,将低版本的全部升级或重新安装。

#查看已安装的R包中对应的R版本
df_all_packages <- as.data.frame(installed.packages())
View(df_all_packages)
# 查看每个R版本有多少个包
table(df_all_packages$Built) 
#选择需要升级的R包对应的行
#由于我的包大多数都还是在3.4.4,而Rstudio现在的version是3.6.3
#所以我再取的是3.4.4的子集,如果有多个版本的话也可以在后面加上
df_packages_to_upgrade <- as.data.frame(subset(df_all_packages, (Built %in% c('3.4.4'))))
#然后重新安装它们
install.packages(df_packages_to_upgrade$Package)
  1. 接着是一些包都出现以下报错
    分别是knitr,rematch2,waldo,testthat,roxygen2
ERROR: dependency ‘xxx’ is not available for package ‘devtools’
* removing ‘xxx’
Warning in install.packages :
  installation of package ‘xxx’ had non-zero exit status

所以我就选择一个个安装这些包

install.packages(c("knitr","rematch2","waldo","testthat","roxygen2"))
  1. 全部安装完成后
install.packages("devtools")

安装成功!

你可能感兴趣的:(R-Rstudio-server无法安装devtools解决方法)