r - 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 的解决方案的建议吗?
解决方案
我以这种方式对问题进行了排序,部分是由以下问题的评论指导:
鉴于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\bin
RStudio 似乎想要它的地方。那是ls.exe
使用Sys.which
. 这为我解决了问题。
推荐阅读
- javascript - 如何判断输入范围元素在拖动时是增加还是减少
- python - 如何从 Python 成功保存高分辨率图像
- javascript - 如何将每个 ajax 调用中的变量传递到 1 drawchart 函数中
- laravel - Vuejs - 发布文件不起作用 - Laravel Spark
- javascript - 使用哪个 JS 以及如何实现 SVG 文本中的图像弹出?
- angularjs - 在 PHP 中使用 Angular 保存动态创建的表单数据
- vb.net - 是否有任何方法以编程方式在 Vb.NET 中编辑/添加代码?
- c++ - 使用 cout 打印字符串数组不起作用
- java - Java 返回一个已删除的文件
- scala - 来自 Akka Actor 的异步回调