RStudio没有检测到Rtools

问题描述 投票:11回答:2

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

- 我更新了环境变量。现在我可以从命令行调用gcc或R.

当我试图从RStudio发布应用程序时,我收到以下错误,

准备部署应用程序... DONE上传应用程序包:64015 ...错误:*应用程序依赖于包“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我已经尝试了所有这些。不工作。

请提出解决方案。非常感谢您的宝贵时间。

r rstudio packages shiny
2个回答
18
投票

我不知道为什么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后丢失此更改,您可以修改Windows环境变量,或者将以下行添加到每次启动时执行的.Renviron文件中。

顺便说一句:$(WIN)部分不是拼写错误,但是要求R可以注入“32”或“64”,具体取决于您使用的R版本(32位或64位)。

编辑1 ::参见最近发表的r-bloggers文章:https://www.r-bloggers.com/quirks-about-running-rcpp-on-windows-through-rstudio/


1
投票

请注意,存在新的潜在问题类型(从R 3.3开始),因为R(不是RStudio,但R)添加了BINPREF变量并默认修改了Path变量,请参阅后者的Renviron.site文件,例如在Windows上。在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位拱下的Makeconf文件执行相同的操作。子目录。

© www.soinside.com 2019 - 2024. All rights reserved.