在我的Windows机器上更新到R 4.0.0后,我无法安装一些包,如 xml2
(同样 foreign
和 nnet
). 当我尝试安装时,我得到了这个错误信息。
* installing *source* package 'foreign' ...
** package 'foreign' successfully unpacked and MD5 sums checked
** using staged installation
** libs
*** arch - i386
"c:/rtools40/mingw32/bin/"gcc -I"C:/PROGRA~1/R/R-40~1.0/include" -DNDEBUG -O2 -Wall -std=gnu99 -mfpmath=sse -msse2 -mstackrealign -c R_systat.c -o R_systat.o
sh: c:/rtools40/mingw32/bin/gcc: No such file or directory
make: *** [C:/PROGRA~1/R/R-40~1.0/etc/i386/Makeconf:222: R_systat.o] Error 127
ERROR: compilation failed for package 'foreign'
* removing 'C:/R-PKGS/win-library/3.6/foreign'
* restoring previous 'C:/R-PKGS/win-library/3.6/foreign'
Warning in install.packages :
installation of package ‘foreign’ had non-zero exit status
安装该软件的主要原因是 xml2
包是我想使用 tidyverse
包,但当我尝试运行 library(tidyverse)
我得到这个信息。
Error: package or namespace load failed for ‘tidyverse’:
package ‘xml2’ was installed before R 4.0.0: please re-install it
所以我想我必须要解决当我试图安装... xml2
包,因为将来可能会出现其他包需要更新的情况。
致敬,Andrés
Windows上的R 4.0伴随着一个新的工具集。rtools40
的,可以单独安装。该工具集包含编译器和其他编程工具,用于在Windows上安装源代码包,而编译器通常在Linux系统上已经存在。工具集可以从 CRAN但如果只安装了预编译的 "二进制包",通常没有必要。
如果不同版本的R包被安装在同一个文件夹中,即所谓的 "个人库",在Windows中默认情况下,有时会出现额外的混乱。
c:\users\<username>\R\win-library
... 或其他用户指定的文件夹。在更新到新的R版本后,清理旧的win-libraries是个好主意。确保这些文件夹不包含有价值的个人数据。