在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
软件包时出现的问题,因为将来可能需要更新其他软件包时会发生此问题。
亲切的问候,安德烈斯
答案 0 :(得分:2)
R 4.0附带了可以单独安装的新工具集rtools40
。该工具集包含用于在Windows上安装源代码包的编译器和其他编程工具,而这些编译器通常已在Linux系统上可用。可以从CRAN安装该工具集,但是,如果只安装了预编译的“二进制包”,通常就没有必要。
默认情况下,如果Windows中不同版本的R的程序包安装在同一文件夹(即所谓的“个人库”)中,则有时可能会造成其他混乱:
c:\users\<username>\R\win-library
...或另一个用户指定的文件夹。更新到新的R版本后,清理旧的Win库可能是一个好主意。确保文件夹中不包含有价值的个人数据。