Les packages d'installation R 3.5.0 pour Ubuntu Xenial (16.04) n'existent pas encore sur les sites miroirs ubuntu. Existe-t-il une autre méthode pour mettre à jour R vers 3.5.0 sur ubuntu xenial? Sinon, existe-t-il une méthode différente pour mettre à jour R vers 3.5.0?
Les R 3.5 ne sont actuellement disponibles qu’à partir d’un PPA, car certains packages de CRAN ont des problèmes de compilation avec R 3.5.
La procédure qui a fonctionné pour moi est la suivante:
Supprimez tous les packages r-cran-*
de votre système (YMMV, j'installe généralement les packages à partir du code source et en ai très peu).
dpkg -l | grep r-cran-
Ajouter APP de Michael Rutter :
Sudo add-apt-repository ppa:marutter/rrutter3.5
Sudo apt-get update
Mise à niveau r
Sudo apt install r-api-3.5
Installez tous les paquets dont vous avez besoin depuis la source (vers une bibliothèque personnelle ou une bibliothèque de site via install.packages()
) ou en installant le paquet r-cran-*
Ubuntu correspondant.
J'utilise le script suivant pour réinstaller tous les packages de mes packages à partir de la bibliothèque de mon site personnel pour R 3.4:
installed <- rownames(installed.packages())
pkgs <- dir("~/R/x86_64-pc-linux-gnu-library/3.4")
new <- setdiff(pkgs, installed)
new
install.packages(new)
Si vous avez une machine avec plusieurs processeurs, vous pouvez accélérer le processus, par exemple:
install.packages(new, Ncpus = 6)
Réponse de Dirk Eddelbuettel à une demande similaire sur la liste de diffusion R-SIG-Debian
Le site CRAN a été mis à jour depuis la réponse de @ krlmlr début juin: https://cran.r-project.org/bin/linux/ubuntu/ .
Les instructions CRAN comportent plusieurs étapes, mais le résumé indique que le fichier sources.list
doit faire référence à un référentiel spécifique à la version 3.5.x & 3.6.x. L'entrée est quelque chose comme
deb https://cloud.r-project.org/bin/linux/ubuntu xenial-cran35/
au lieu de l'entrée précédente (sans version) de
deb https://cloud.r-project.org/bin/linux/ubuntu xenial/
La description pertinente du site Web (qui changera éventuellement):
Les packages R 3.6 pour Ubuntu sur i386 et AMD64 sont disponibles pour la plupart des versions stables d’Ubuntu Desktop jusqu’à leur date de fin de vie officielle. Cependant, seule la dernière version de LTS (Long Term Support) est entièrement prise en charge. À compter du 18 novembre 2018, les versions prises en charge sont Xenial Xerus (16.04; LTS), Trusty Tahr (14.04; LTS), Bionic Beaver (18.04; LTS), Cosmic Seiche (18.10) et Disco Dingo (19.04). Remarque: pour installer les packages R 3.6, une entrée différente de sources.list est nécessaire. Voir ci-dessous pour plus de détails. Même si R est passé à la version 3.6, pour des raisons de compatibilité, l'entrée sources.list utilise toujours la désignation cran3.5.
modifier 2019-05-13: mise à jour pour la version R 3.6.0 du mois dernier.
La version xenial-cran35/
du référentiel NE FONCTIONNE PAS si vous avez une "version par défaut" définie dans apt, comme c'est le cas dans certaines distributions fonctionnant au-dessus d'Ubuntu, telles que Mint. Pour ma distribution Mint, il existe un fichier /etc/apt/apt.conf.d/01ubuntu
à l'intérieur duquel il déclare le Default-Release "xenial";
. Cela signifie que, puisque r-base existe dans le référentiel Ubuntu en version 3.2, avec la version "xenial", il n'utilisera jamais la branche 3.6 de l'autre dépôt, car le nom de publication de ce dépôt est "xenial-cran35". Vous devez éditer ce fichier pour changer la version par défaut en "xenail-cran35", ou faire quelque chose de plus précis en utilisant des fichiers de préférences apt ( https://wiki.debian.org/AptPreferences#A.2Fetc.2Fapt. 2 Préférences ).
C’est essentiellement la faute de R pour avoir un référentiel mal formaté. Ils auraient dû avoir 2 dépôts, chacun ayant un dossier de publication "xenial", une URL pour leur travail de branche 3.2 et une pour le travail de branche 3.5+. Au lieu de cela, ils ont un référentiel, et ont bâti le "nom de la version", ce qui fonctionne en quelque sorte pour Ubuntu, mais ne fonctionnera pas si vous avez une configuration non-base d'apt de cette manière.