我已安装并更新了R,RStudio和devtools(下面省略了一些输出)。我还安装了Rtools的最新版本:
oc
但是,当我按Ctrl + Shift + B在RStudio中构建软件包时,会通知我找不到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
有关此问题的先前文章(请参阅:Rtools not being detected by R)主要关注系统路径,但未指定如何设置它或在何处。此外,该帖子中的OP写到Rtools安装期间未包括工具链选项,或者该目录的路径不正确(R 3.3.0 installing a package on Windows: gcc not found error)。就我而言,两个工具链框均已在显示系统路径的代码下方选中(参见图片)。
==> 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/
我怀疑路径仍然是问题所在,但此处的解决方案并未确切说明应寻找的内容,如何找到它以及最终的解决方案如下:RStudio cannot find Rtools to build package
有人可以提供有关在Rstudio中检测rtool的解决方案的建议吗?
答案 0 :(得分:5)
我以这种方式对问题进行了分类,部分是由对该问题的评论引导的:
Rtools not being detected by R
假设devtools::find_rtools()
返回TRUE
,并且使用Rcpp
(https://thecoatlessprofessor.com/programming/installing-rtools-for-compiled-code-via-rcpp/)在此网页末尾的检查有效:
尝试Sys.which("ls.exe")
和Sys.which("gcc.exe")
。前者应返回路径,但后者可能为空,这就是问题所在。
然后我发现了另一份gcc.exe
的副本(在我的情况下,C:\Rtools\mingw_64\bin
处有一个副本,这有点令人发狂),然后将其复制到了C:\Rtools\bin
中,在RStudio中想要它。那就是使用ls.exe
找到Sys.which
的地方。那为我解决了问题。