我正在使用最新的R,RStudio和Rtools。
--我更新了环境变量。现在我可以打电话给gcc,也就是命令行的R。
当我试图从RStudio发布一个应用程序时,我得到了以下错误:
准备为应用程序部署application...DONE上传包: 64015...Error:* Application依赖于包"Rtools“,但它没有安装。请先解决后再继续。执行暂停
-我试过了,在控制台上
> find_rtools(T)
Scanning path...
ls : D:\Rtools\bin\ls.exe
gcc: D:\Rtools\GCC-46~1.3\bin\gcc.exe
VERSION.txt
Rtools version 3.3.0.1959
Version: 3.3
[1] TRUE因此,Rtools似乎基本上就在那里!
--我检查了环境变量,这些都没问题,正如我刚才提到的,可以从命令行启动R和gcc。
然而,我试着使用installr包从RStudio中安装和检查,它说,
> install.Rtools()
No need to install Rtools - You've got the relevant version of Rtools installed
> --这不可能是重复的,Rtools not being detected by R,我试过了所有这些。不起作用。
请提出解决办法。非常感谢你抽出时间。
发布于 2017-05-17 22:46:22
我不知道为什么RStudio不时会遇到这样的问题,但是这里有一个手动操作:
https://github.com/rwinlib/r-base/wiki/Testing-Packages-with-Experimental-R-Devel-Build-for-Windows
基本上,您必须设置两个环境变量来指向Rtools的正确安装路径:
Sys.setenv(PATH = paste("C:/Rtools/bin", Sys.getenv("PATH"), sep=";"))
Sys.setenv(BINPREF = "C:/Rtools/mingw_$(WIN)/bin/")为了避免在重新启动RStudio后丢失此更改,您可以修改( .Renviron )环境变量,或者将以下行添加到每次启动R.
顺便说一句:$(WIN)部件是,没有错误,但必须这样做,以便R可以根据您使用的R版本(32位或64位)注入"32“或"64”。
编辑1:参见最近发表的r-blogger文章:https://www.r-bloggers.com/quirks-about-running-rcpp-on-windows-through-rstudio/
发布于 2018-02-27 15:06:02
请注意,有一些新的潜在问题(从R3.3开始),因为R(不是BINPREF,但R) 添加了一个 RStudio 变量,并在默认情况下修改了 Path 变量,请参见Windows上的Renviron.site文件,例如在C:\Program Files\R\R-3.4.3\etc下。
PATH="C:\Rtools\bin;${PATH}" 对于安装了自定义路径和/或多个版本的Rtools的人来说,这很容易发生冲突,因此我已经用#将其注释掉了。
有关BINPREF问题,请参见Makeconf文件,例如,在C:\Program Files\R\R-3.4.3\etc\x64下面
BINPREF ?= c:/Rtools/mingw_64/bin/然后,我将其修改为c:/Rtools34/mingw_64/bin/,这是我安装Rtools34的地方。
您也可以在32位arch下对Makeconf文件执行同样的操作。子目录。
发布于 2019-06-10 11:41:25
通过R CMD check not looking for gcc in Rtools directory
R使用一个BINPREF变量来定位某些可执行文件,包括RTools的组件。
BINPREF可以在许多地方设置。在我的例子中,它设置在C:/Users/MYUSERNAME/Documents/.R/Makevars中。删除此文件的内容后,删除了一个指向以前安装RTools的链接,自该链接被删除后,该链接将被删除。
还值得检查文件$RPATH/etc/i386/Makeconf (如果有64位安装,则将i386交换为x64 ),该文件将随着R.Note行BINPREF ?= c:/Rtools/mingw_32/bin/的每次新安装而重新创建,如果还没有设置BINPREF值,则(通过?=操作符)该行将设置BINPREF的值,就像上面提到的Makevars文件中的那样。
临时修复是用BINPREF ?=替换BINPREF =,但是当更新R时,Makeconf文件会被覆盖,所以每次都必须记住这样做。最好编辑或删除Makevars文件以进行永久更改。
https://stackoverflow.com/questions/33103203
复制相似问题