首页 > 解决方案 > RStudio 没有找到 RTools

问题描述

我安装了 R、RStudio 和 devtools(下面省略了一些输出)并进行了更新。我还安装了最新版本的 Rtools:

# Check R version
R.Version()
$platform
[1] "x86_64-w64-mingw32"

# OUTPUT OMITTED

$version.string
[1] "R version 3.4.3 (2017-11-30)"

# Check devtools for Rtools installation
devtools::find_rtools()
[1] TRUE

然而,当我按 Ctrl + Shift + B 在 RStudio 中构建一个包时,我被告知找不到 Rtools:

==> devtools::build()

"C:/PROGRA~1/R/R-34~1.3/bin/x64/R" --no-site-file --no-environ --no-save  \
  --no-restore --quiet CMD build  \
  "C:\Users\name\mypkg" --no-resave-data  \
  --no-manual 

* checking for file 
'C:\Users\name/mypkg/DESCRIPTION' ... OK
* preparing 'mypkg':
* checking DESCRIPTION meta-information ... OK
* checking for LF line-endings in source and make files and shell scripts
* checking for empty or unneeded directories
* building 'mypkg_0.1.0.tar.gz'

[1] "C:/Users/name/mypkg_0.1.0.tar.gz"

Source package written to C:/Users/brett/Dropbox/Duke/package_development
WARNING: Rtools is required to build R packages but is not currently 
installed. Please download and install the appropriate version of Rtools 
before proceeding:

https://cran.rstudio.com/bin/windows/Rtools/

关于此问题的先前帖子(请参阅:Rtools not being detected by R)专注于系统路径,但未指定如何设置或在何处设置。此外,该帖子中的 OP 写道,在 Rtools 安装期间未包含工具链选项,或者路径的目录不正确(R 3.3.0 在 Windows 上安装软件包:gcc not found 错误)。就我而言,在显示系统路径的代码下方,两个工具链框都已被选中(见图)。

# Check system path
Sys.getenv()['PATH']

PATH                    C:/Rtools/bin;C:\Rtools\bin;C:\Program
                        Files\R\R-3.4.3\bin\x64;C:\Rtools\bin;C:\Program
                        Files (x86)\Intel\iCLS Client\;C:\Program
                        Files\Intel\iCLS
                        Client\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program
                        Files (x86)\Intel\Intel(R) Management Engine
                        Components\DAL;C:\Program Files\Intel\Intel(R)
                        Management Engine Components\DAL;C:\Program
                        Files (x86)\Intel\Intel(R) Management Engine
                        Components\IPT;C:\Program Files\Intel\Intel(R)
                        Management Engine Components\IPT;C:\Program
                        Files\MiKTeX 2.9\miktex\bin\x64\;C:\Program
                        Files
                        (x86)\PharosSystems\Core;C:\WINDOWS\System32\OpenSSH\;C:\Users\name\AppData\Local\Microsoft\WindowsApps;

在此处输入图像描述

我怀疑路径仍然是问题所在,但这里的解决方案没有具体说明应该寻找什么,如何找到它,以及最终解决方案的样子:RStudio cannot find Rtools to build package

有人可以提供有关在 Rstudio 中检测 rtools 的解决方案的建议吗?

标签: rrstudio

解决方案


我以这种方式对问题进行了排序,部分是由以下问题的评论指导:

R未检测到Rtools

鉴于devtools::find_rtools()返回并使用(https://thecoatlessprofessor.com/programming/installing-rtools-for-compiled-code-via-rcpp/TRUE )在此网页末尾进行检查有效:Rcpp

尝试Sys.which("ls.exe")Sys.which("gcc.exe")。前者应该返回一个路径,但后者可能是空的,这就是问题所在。

然后我找到了另一个副本gcc.exe(在我的情况下,它有一个C:\Rtools\mingw_64\bin,这有点令人抓狂)并将其复制到C:\Rtools\binRStudio 似乎想要它的地方。那是ls.exe使用Sys.which. 这为我解决了问题。


推荐阅读