R 4.0.0之前已安装软件包“ XXX”:请重新安装

时间:2020-08-13 07:30:21

标签: r

我正在使用R 4.0.2。

我从cfcdae手动安装了2个软件包,从here手动安装了Stats5303lib。我按照说明here下载Rtools并使用它来安装上述软件包。

问题是

writeLines('PATH="${RTOOLS40_HOME}\\usr\\bin;${PATH}"', con = "~/.Renviron") # runs fine
Sys.which("make") #works fine
                               make 
"C:\\rtools40\\usr\\bin\\make.exe" 
install.packages("Stat5303libs_0.7-5.zip",repos=NULL,type="source") # these all run fine
install.packages("cfcdae_0.8-4.zip",repos=NULL,type="source")  # these all run fine

但是,当我尝试运行这些库时遇到以下问题时。

Error: package or namespace load failed for ‘cfcdae’:
 package ‘cfcdae’ was installed before R 4.0.0: please re-install it

我在下面尝试过,但仍然没有成功。

update.packages(ask=FALSE, checkBuilt=TRUE)

为什么会这样?是因为包装太旧了吗?

更新

根据要求,我如下更改了.libPaths()并更新了SessionInfo()

> .libPaths()
[1] "C:/Users/UserME/Documents/R/win-library/4.0"
[2] "C:/Program Files/R/R-4.0.2/library"   

R version 4.0.2 (2020-06-22)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 18363)

Matrix products: default

locale:
[1] LC_COLLATE=English_Hong Kong SAR.1252  LC_CTYPE=English_Hong Kong SAR.1252   
[3] LC_MONETARY=English_Hong Kong SAR.1252 LC_NUMERIC=C                          
[5] LC_TIME=English_Hong Kong SAR.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
 [1] Rcpp_1.0.4.6        rstudioapi_0.11     magrittr_1.5       
 [4] splines_4.0.2       MASS_7.3-51.6       tidyselect_1.1.0   
 [7] munsell_0.5.0       statmod_1.4.34      lattice_0.20-41    
[10] colorspace_1.4-1    R6_2.4.1            rlang_0.4.6        
[13] minqa_1.2.4         dplyr_1.0.0         tools_4.0.2        
[16] grid_4.0.2          nlme_3.1-148        gtable_0.3.0       
[19] ellipsis_0.3.1      lme4_1.1-23         tibble_3.0.1       
[22] lifecycle_0.2.0     numDeriv_2016.8-1.1 crayon_1.3.4       
[25] Matrix_1.2-18       nloptr_1.2.2.2      purrr_0.3.4        
[28] ggplot2_3.3.2       vctrs_0.3.1         glue_1.4.1         
[31] compiler_4.0.2      pillar_1.4.6        generics_0.0.2     
[34] scales_1.1.1        boot_1.3-25         lmerTest_3.1-2     
[37] pkgconfig_2.0.3  

4 个答案:

答案 0 :(得分:2)

所有软件包都需要在新的version(4.0)下重新安装。我必须先删除然后重新安装所有软件包。

以下内容对我有用:

checkFileExistsAtCompileTime(".../myfile") // compiles
// checkFileExistsAtCompileTime(".../myfile1") // doesn't compile, .../myfile1 doesn't exist

答案 1 :(得分:0)

当R从旧目录中读取时,可能会发生此问题。 R 4.0.x之前的版本。

以下是解决此问题的几种方法:

  • 检查您的.libPaths()-R可能正在从R 3.x.x库读取软件包,这会产生您得到的错误。或者,尝试创建一个新的库目录(这很可能解决了该问题)。
  • update.packages(ask=FALSE, checkBuilt=TRUE)(您已经尝试过)
  • 删除以前安装的R及其关联的目录。

答案 2 :(得分:0)

zip文件是在Windows上使用的预先构建的 binary 软件包,而不是源软件包。使用install.packages(*, type="source")安装它不会有什么不同。您需要与编写这些软件包的人员联系,以再次为R 4.0构建它们,或者向您提供真实的源代码-通常是.tar.gz文件。

答案 3 :(得分:0)

如果您在使用 renv 时遇到此问题,您可能需要查看您的 renv cache。我不得不删除我的以强制我的项目使用新安装的软件包版本而不是旧版本。