我已经安装了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 installing a package on Windows: gcc not found error)的目录不正确。在我的例子中,两个工具链框都在显示系统路径的代码下面被选中(见下图)。
# 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的解决方案提供建议吗?
发布于 2018-11-05 18:02:25
我以这种方式对问题进行了分类,部分原因是在以下位置对该问题的评论:
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想要它的地方。这就是使用Sys.which发现ls.exe的地方。这为我解决了问题。
https://stackoverflow.com/questions/51830648
复制相似问题