gpt4 book ai didi

R CMD 检查不在 Rtools 目录中查找 gcc

转载 作者:行者123 更新时间:2023-12-05 05:18:52 44 4
gpt4 key购买 nike

R 一直在正常安装包,但突然间——我想不出我修改或卸载的任何相关内容—— 当我在命令提示符下运行 R CMD check 或在 R 控制台中运行 devtools::check() 时找不到 gcc;它提供了以下错误:

* installing *source* package 'PkgName' ...
** libs
C:/MinGW/bin/gcc -I"C:/PROGRA~1/R/R-34~1.2/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -O3 -Wall -std=gnu99 -mtune=core2 -c PkgName-init.c -o PkgName-init.o
C:/MinGW/bin/gcc: not found

我想让R在C:\Rtools-3.4\mingw_32\bin中找到gcc,也就是系统PATH中指定的位置; strsplit(Sys.getenv('PATH'), ';') 给出

[...]
[4] "c:\\Rtools-3.4\\bin"
[5] "c:\\Rtools-3.4\\mingw_32\\bin"
[7] "C:\\Program Files\\R\\R-3.4.2\\bin\\i386"
[8] "C:\\Program Files\\R\\R-3.4.2\\bin"
[9] "C:\\Program Files\\MiKTeX 2.9\\miktex\\bin\\x64\\"
[...]

我如何告诉 R 不要查看不存在的目录 C:\MinGW,而是遵循 PATH?

我不想在那里安装 MinGW 的第二个副本,因为这会导致其他问题。

最佳答案

R 使用 BINPREF 变量来定位可执行文件:gcc 可执行文件的位置由 CC = $(BINPREF)gcc $(M_ARCH)

给出

在我的例子中,BINPREF 是由 C:/Users/MYUSERNAME/Documents/.R/Makevars 设置的。删除此文件的内容会删除不正确的位置。

还值得检查文件 $RPATH/etc/i386/Makeconf,每次新安装 R 时都会重新创建该文件。请注意该行BINPREF ?= c:/Rtools/mingw_32/bin/,如果它(通过 ?= 运算符)将设置 BINPREF 的值尚未设置,因为它在上面提到的 Makevars 文件中。

关于R CMD 检查不在 Rtools 目录中查找 gcc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47076620/

44 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com