213 votes

Comment sélectionner un miroir CRAN dans R

Je suis en train d'essayer d'installer un package via l'invite de commande R en faisant ce qui suit:

install.packages('RMySQL')

Mais la sortie est la suivante :

--- Veuillez sélectionner un miroir CRAN à utiliser dans cette session ---

Et rien d'autre! Je ne trouve pas de solution à ce problème très basique. Que suis-je censé taper pour sélectionner un miroir CRAN?

ÉDIT :

Système d'exploitation: Mac OS X 10.6.8 Version de R: 2.15.0

1 votes

Il devrait afficher une liste de numéros de 1 à 100 correspondant au miroir, essayez de taper 84 et appuyez sur Entrée.

1 votes

Veuillez ajouter quel système d'exploitation vous utilisez, et quelle version de R

1 votes

Soit une fenêtre pop-up d'apparaitre avec des sélections, soit une liste de sélections apparaît dans la console. Avez-vous vérifié l'existence d'une fenêtre séparée avec des choix? Comment exécutez-vous R?

324voto

betabandido Points 5542

Vous devez obtenir une fenêtre avec une liste de dépôts ou un menu texte avec quelques options. Mais si ce n'est pas le cas, vous pouvez toujours spécifier le miroir à partir duquel télécharger les packages vous-même en utilisant le paramètre repos. En faisant cela, R ne vous demandera plus rien sur le dépôt. Exemple:

install.packages('RMySQL', repos='http://cran.us.r-project.org')

Ici, vous avez une liste de miroirs pour R.

2 votes

Pour moi, la fenêtre contextuelle des dépôts est apparue, j'ai cliqué sur un miroir, et ensuite rien ne s'est passé; pendant ce temps, cela a bien fonctionné. Solution programmatique > solution interactive, comme d'habitude! Merci!

1 votes

Et voici quelques miroirs parmi lesquels choisir, pour être gentil avec CRAN: cran.r-project.org/mirrors.html

0 votes

J'ai trouvé cette solution de contournement utile pour installer un package récent dans MRO. J'ai passé une journée à essayer d'installer une version récente d'un package, mais la fonction checkpoint ne fonctionnait pas comme décrit en utilisant la distribution Anaconda de R, v3.4.3, avec le snapshot défini sur 2017-09-01.

108voto

Dirk Eddelbuettel Points 134700

Voici ce que je fais, qui est essentiellement tiré de la page example(Startup):

## Dépôt par défaut
local({r <- getOption("repos")
       r["CRAN"] <- "https://cran.r-project.org" 
       options(repos=r)
})

qui se trouve dans le fichier ~/.Rprofile.

Édition: Comme nous sommes maintenant en 2018, nous pouvons ajouter que depuis quelques années l'URL "https://cloud.r-project.org" est préférable car elle reflète a) l'accès https et b) un CDN "toujours proche de vous".

Édition 2: Et de nos jours, nous voulons du https:// donc mise à jour en conséquence.

4 votes

Je pense que cela devrait être la réponse acceptée. Ça marche simplement (tm), dans tous les cas, y compris sur les systèmes sans tête (serveurs, IoT, etc.). Merci, Dirk.

6 votes

Et avec le recul de plusieurs années plus tard, nous avons maintenant un CDN approprié qui est garanti d'être proche du réseau pour tout le monde, et nous utilisons maintenant https donc faites de https://cloud.r-project.org l'URL.

1 votes

J'espère que ça ne te dérange pas, Dirk, mais j'ai juste édité ton message pour refléter ta suggestion.

70voto

Jared Points 953

Je suis un fan de :

chooseCRANmirror()

Cela affichera la liste des miroirs dans la sortie (pas de souci d'une fenêtre contextuelle car vous l'exécutez à partir du terminal) et vous entrez ensuite le numéro souhaité.

1 votes

Oops, tapez chooseCRANmirror(81) et une fenêtre apparaîtra pour vous demander d'entrer un numéro. Tout se passe dans la console.

1 votes

Note : cela ne semble pas non plus mettre à jour /etc/R/Rprofile.site ou ~/.Rprofile. (Donc, ce n'est pas bon pour choisir un ancien miroir alternatif qui a disparu. Mieux vaut éditer les fichiers ci-dessus directement.)

0 votes

@DarrenCook Vous avez peut-être raison mais je trouve que beaucoup de gens peuvent être intimidés par ces fichiers. Je sais que je l'étais.

30voto

vijucat Points 926

J'utilise la solution ~/.Rprofile suggérée par Dirk, mais je voulais juste signaler que

chooseCRANmirror(graphics=FALSE)

semble être la chose sensée à faire au lieu de

chooseCRANmirror(81)

, qui peut fonctionner, mais qui implique le nombre magique 81 (ou peut-être est-ce une manière subtile de promouvoir le tourisme à 81 = UK (Bristol) :-) )

13voto

Cahit Gungor Points 517

L'écran de sélection du dépôt ne peut pas être affiché sur votre système (OS X), car OS X n'inclut plus X11. R essaie de vous afficher l'invite à travers X11. Installez X11 depuis http://xquartz.macosforge.org/landing/. Ensuite, exécutez la commande d'installation. L'invite de sélection du dépôt sera affichée.

1 votes

Cela devrait être la réponse acceptée. L'article de support Apple sur le support X11 dans OS X se trouve sur support.apple.com/kb/HT5293?viewlocale=fr_FR&locale=fr_FR

0 votes

Le problème est probablement que la fenêtre ne s'affiche pas en raison de X11, mais on pourrait soutenir que les paramètres chooseCRANmirror()/repos sont des solutions beaucoup plus simples.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X