Rtools no se detecta desde RStudio
packages shiny (3)
Estoy usando las últimas R, RStudio y Rtools.
- He actualizado las variables de entorno. Ahora puedo llamar a gcc o R desde la línea de comando.
Mientras intentaba publicar una aplicación desde RStudio, aparece el siguiente error,
Preparando la implementación de la aplicación ... HECHO Cargando paquete para la aplicación: 64015 ... Error: * La aplicación depende del paquete "Rtools" pero no está instalada. Por favor resuelva antes de continuar. Ejecución detenida
- He intentado esto, en la consola,
> 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
Entonces, ¡Rtools parece estar básicamente allí!
- He comprobado las variables de entorno, están bien, ya que también mencioné que R y gcc pueden iniciarse desde la línea de comandos
Sin embargo, intenté instalar y verificar desde RStudio usando el paquete de instalación, dice:
> install.Rtools()
No need to install Rtools - You''ve got the relevant version of Rtools installed
>
- Esto no es una posible duplicación de esto, Rtools no está siendo detectado por R He intentado todo esto. No funcionó.
Por favor sugiera una solución. Muchas gracias por tu tiempo.
A través de R CMD verifique que no busque gcc en el directorio de Rtools :
R usa una variable
BINPREF
para localizar ciertos ejecutables, incluidos los componentes de RTools.
BINPREF
se puede configurar en varios lugares.
En mi caso, se configuró en
C:/Users/MYUSERNAME/Documents/.R/Makevars
.
Al eliminar el contenido de este archivo, se eliminó un enlace a una instalación anterior, y desde entonces eliminada, de RTools.
También vale la pena consultar el archivo
$RPATH/etc/i386/Makeconf
(cambie i386 por x64 si tiene una instalación de 64 bits), que se volverá a crear con cada nueva instalación de R. Observe la línea
BINPREF ?= c:/Rtools/mingw_32/bin/
, que (a través del operador
?=
) Establecerá el valor de
BINPREF
si aún no está configurado, como estaba en el archivo Makevars mencionado anteriormente.
Una solución temporal es reemplazar
BINPREF ?=
Con
BINPREF =
, pero como el archivo Make
conf
se sobrescribe cuando se actualiza R, deberá recordar hacer esto cada vez.
Es mejor editar o eliminar el archivo Make
vars
para un cambio permanente.
No tengo idea de por qué RStudio tiene este tipo de problemas de vez en cuando, pero aquí se describe una solución manual:
https://github.com/rwinlib/r-base/wiki/Testing-Packages-with-Experimental-R-Devel-Build-for-Windows
Básicamente, debe establecer dos variables de entorno en la ruta de instalación correcta de Rtools:
Sys.setenv(PATH = paste("C:/Rtools/bin", Sys.getenv("PATH"), sep=";"))
Sys.setenv(BINPREF = "C:/Rtools/mingw_$(WIN)/bin/")
Para evitar perder este cambio después de reiniciar RStudio, puede modificar las variables de entorno de Windows en su lugar o agregar las siguientes filas a su archivo
.Renviron
que se ejecuta en cada inicio de R.
Por cierto: la parte
$(WIN)
no
es
un
error tipográfico, pero se requiere para que R pueda inyectar "32" o "64" dependiendo de la versión R que esté utilizando (32 o 64 bits).
Edición 1:: vea también este artículo de r-bloggers publicado recientemente: https://www.r-bloggers.com/quirks-about-running-rcpp-on-windows-through-rstudio/
Tenga en cuenta que hay nuevos tipos potenciales de problemas (desde R 3.3 en adelante), ya que R (
no RStudio, pero R
)
agrega una variable
BINPREF
y modifica la variable
Path
por defecto
, consulte el archivo
Renviron.site
para este último, en Windows típicamente por ejemplo, en
C:/Program Files/R/R-3.4.3/etc
:
PATH="C:/Rtools/bin;${PATH}"
Esto podría entrar en conflicto fácilmente para las personas con una ruta personalizada y / o múltiples versiones de Rtools instaladas, por lo que he comentado esto con un
#
.
Para el problema
BINPREF
, consulte el archivo
Makeconf
, por ejemplo, en
C:/Program Files/R/R-3.4.3/etc/x64
:
BINPREF ?= c:/Rtools/mingw_64/bin/
Luego modifiqué esto a
c:/Rtools34/mingw_64/bin/
, que es donde instalé mi
Rtools34
.
Puede hacer lo mismo para el archivo
Makeconf
bajo el arco de 32 bits.
subdirectorio.