首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有从RStudio中检测到Rtools

没有从RStudio中检测到Rtools
EN

Stack Overflow用户
提问于 2015-10-13 12:50:13
回答 4查看 35.8K关注 0票数 24

我正在使用最新的R,RStudio和Rtools。

--我更新了环境变量。现在我可以打电话给gcc,也就是命令行的R。

当我试图从RStudio发布一个应用程序时,我得到了以下错误:

准备为应用程序部署application...DONE上传包: 64015...Error:* Application依赖于包"Rtools“,但它没有安装。请先解决后再继续。执行暂停

-我试过了,在控制台上

代码语言:javascript
复制
> 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中安装和检查,它说,

代码语言:javascript
复制
> install.Rtools()
No need to install Rtools - You've got the relevant version of Rtools installed
> 

--这不可能是重复的,Rtools not being detected by R,我试过了所有这些。不起作用。

请提出解决办法。非常感谢你抽出时间。

EN

回答 4

Stack Overflow用户

发布于 2017-05-17 22:46:22

我不知道为什么RStudio不时会遇到这样的问题,但是这里有一个手动操作:

https://github.com/rwinlib/r-base/wiki/Testing-Packages-with-Experimental-R-Devel-Build-for-Windows

基本上,您必须设置两个环境变量来指向Rtools的正确安装路径:

代码语言:javascript
复制
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/

票数 32
EN

Stack Overflow用户

发布于 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下。

代码语言:javascript
复制
PATH="C:\Rtools\bin;${PATH}" 

对于安装了自定义路径和/或多个版本的Rtools的人来说,这很容易发生冲突,因此我已经用#将其注释掉了。

有关BINPREF问题,请参见Makeconf文件,例如,在C:\Program Files\R\R-3.4.3\etc\x64下面

代码语言:javascript
复制
BINPREF ?= c:/Rtools/mingw_64/bin/

然后,我将其修改为c:/Rtools34/mingw_64/bin/,这是我安装Rtools34的地方。

您也可以在32位arch下对Makeconf文件执行同样的操作。子目录。

票数 3
EN

Stack Overflow用户

发布于 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文件以进行永久更改。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33103203

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档