web-dev-qa-db-fra.com

Rtools n'est pas détecté depuis RStudio

J'utilise les derniers R, RStudio et Rtools.

- J'ai mis à jour les variables d'environnement. Maintenant, je peux appeler gcc ou R à partir de la ligne de commande.

Pendant que j'essayais de publier une application à partir de RStudio, j'obtiens l'erreur suivante,

Préparation du déploiement de l'application ... TERMINÉ Téléchargement du bundle pour l'application: 64015 ... Erreur: * L'application dépend du package "Rtools" mais elle n'est pas installée. Veuillez résoudre avant de continuer. Exécution interrompue

- J'ai essayé ça, sur console,

> 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

Donc, Rtools semble fondamentalement là!

- J'ai vérifié les variables d'environnement, elles sont OK, comme je l'ai également mentionné R et gcc peuvent être démarrés à partir de la ligne de commande

Pourtant, j'ai essayé d'installer et de vérifier à partir de RStudio en utilisant le package installr, il dit,

> install.Rtools()
No need to install Rtools - You've got the relevant version of Rtools installed
> 

- Ce n'est pas une duplication possible de cela, Rtools n'étant pas détecté par R J'ai essayé tout cela. N'a pas marché.

Veuillez suggérer une solution. Merci beaucoup pour votre temps.

19
Droid-Bird

Je ne sais pas pourquoi RStudio a de tels problèmes de temps en temps, mais il existe une solution manuelle décrite ici:

https://github.com/rwinlib/r-base/wiki/Testing-Packages-with-Experimental-R-Devel-Build-for-Windows

Fondamentalement, vous devez définir deux variables d'environnement sur le chemin d'installation correct de Rtools:

Sys.setenv(PATH = paste("C:/Rtools/bin", Sys.getenv("PATH"), sep=";"))
Sys.setenv(BINPREF = "C:/Rtools/mingw_$(WIN)/bin/")

Pour éviter de perdre cette modification après le redémarrage de RStudio, vous pouvez modifier vos variables d'environnement Windows à la place ou ajouter les lignes suivantes à votre fichier .Renviron Qui est exécuté à chaque démarrage de R.

BTW: La partie $(WIN) est pas typo mais nécessaire pour que R puisse injecter "32" ou "64" selon le R version que vous utilisez (32 ou 64 bits).

Edit 1: : Voir aussi cet article r-bloggers publié récemment: https://www.r-bloggers.com/quirks- about-running-rcpp-on-windows-through-rstudio /

23
R Yoda

Notez qu'il existe de nouveaux types de problèmes potentiels (à partir de R 3.3), car R ( non pas RStudio, mais R ) ajoute un BINPREF variable et modifie la variable Path par défaut, voir la Renviron.site fichier pour ce dernier, généralement sous Windows, par exemple sous C:\Program Files\R\R-3.4.3\etc:

PATH="C:\Rtools\bin;${PATH}" 

Cela peut facilement entrer en conflit pour les personnes avec un chemin personnalisé et/ou plusieurs versions de Rtools installées, j'ai donc commenté ceci avec un #.

Pour le problème BINPREF, consultez le fichier Makeconf, par exemple sous C:\Program Files\R\R-3.4.3\etc\x64:

BINPREF ?= c:/Rtools/mingw_64/bin/

J'ai ensuite modifié ceci en c:/Rtools34/mingw_64/bin/, où j'ai installé mon Rtools34.
Vous pouvez faire de même pour le fichier Makeconf sous Arch 32 bits. sous-répertoire.

1
RolandASc

Via R CMD ne vérifie pas gcc dans le répertoire Rtools :

R utilise une variable BINPREF pour localiser certains exécutables, y compris les composants de RTools.

BINPREF peut être défini à plusieurs endroits. Dans mon cas, il a été défini sur C:/Users/MYUSERNAME/Documents/.R/Makevars. La suppression du contenu de ce fichier a supprimé un lien vers une installation précédente et depuis supprimée de RTools.

Il vaut également la peine de vérifier le fichier $RPATH/etc/i386/Makeconf (remplacez i386 par x64 si vous avez une installation 64 bits), qui sera recréé à chaque nouvelle installation de R. Notez la ligne BINPREF ?= c:/Rtools/mingw_32/bin/, qui (via le ?= operator) définira la valeur de BINPREF si elle n'est pas déjà définie, comme c'était le cas dans le fichier Makevars mentionné ci-dessus.

Une solution temporaire consiste à remplacer BINPREF ?= avec BINPREF =, mais comme le fichier Make conf est écrasé lorsque R est mis à jour, vous devez vous rappeler de le faire à chaque fois. Mieux vaut éditer ou supprimer le fichier Make vars pour un changement permanent.

0
ms609