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.
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 /
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.
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.