R 3.5.0 per Ubuntu


23

I pacchetti di installazione R 3.5.0 per Ubuntu Xenial (16.04) non esistono ancora sui siti mirror di Ubuntu. Esiste un metodo alternativo per aggiornare R alla 3.5.0 su Ubuntu xenial? In alternativa, esiste un metodo diverso per aggiornare R alla 3.5.0?


1
Hai dato un'occhiata a questa procedura dettagliata ? L'autore non lo dice esplicitamente da nessuna parte, ma queste sono le istruzioni per l'installazione 3.5
Hee Jin


1
@Emily: la procedura dettagliata a cui ti sei collegato riguarda l'installazione di R dal sorgente.
krlmlr,

1
@valiano: questo risponde a una domanda diversa.
krlmlr,

Risposte:


24

R 3.5 sono attualmente disponibili solo da un PPA, perché alcuni dei pacchetti di CRAN hanno problemi a costruire con R 3.5.

Procedete a vostro rischio.

La procedura che ha funzionato per me è:

  1. Rimuovi tutti i r-cran-*pacchetti dal tuo sistema (YMMV, di solito sto installando pacchetti dal sorgente e ne ho pochissimi)

    • Cerca con dpkg -l | grep r-cran-
  2. Aggiungi PPA di Michael Rutter :

    sudo add-apt-repository ppa:marutter/rrutter3.5
    sudo apt-get update
    
  3. Aggiorna R

    sudo apt install r-api-3.5
    
  4. Installa tutti i pacchetti che ti servono dal sorgente (a una libreria personale o del sito tramite install.packages()) o installando il r-cran-*pacchetto Ubuntu corrispondente .

    Uso il seguente script per reinstallare tutti i pacchetti i miei pacchetti dalla mia libreria del sito personale per 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)

    Se si dispone di una macchina con più CPU, è possibile accelerare il processo, ad esempio:

    install.packages(new, Ncpus = 6)
    

Riferimenti


3
Il metodo sopra ha funzionato perfettamente per me. (Grazie a Krlmlr.) Due suggerimenti aggiuntivi per coloro che non hanno esperienza con Ubuntu: 1. Rimuovi i precedenti pacchetti r-cran- * con: sudo apt-get remove r-cran- * 2. Dopo aver aggiunto il PPA di Michael Rutter, ricordati di eseguire: sudo apt-get update
Larry

Il metodo sopra ha funzionato perfettamente per me. (Grazie a Krlmlr.) Due suggerimenti aggiuntivi per coloro che non hanno esperienza con Ubuntu: 1. Rimuovi i precedenti pacchetti r-cran- * con: sudo apt-get remove r-cran- * 2. Dopo aver aggiunto il PPA di Michael Rutter, ricordati di eseguire: sudo apt-get update prima di eseguire: sudo apt install r-api-3.5
Larry

@Larry: grazie. Puoi modificare il post?
krlmlr,

@krlmlr Ti suggerisco di rimuovere Ncpus = 6dalla risposta. Potrebbe portare a rallentamenti imprevisti, specialmente per le persone che (i) non leggono completamente il codice prima di copiare / incollare; e (ii) lo farà su un personal computer. L'opzione non è inoltre richiesta per la risposta.
venerdì

1
@fridaymeetssunday: commento aggiunto. D'accordo che Ncpus = 6potrebbe essere lento su macchine deboli, ma nessuno dovrebbe copiare e incollare senza almeno scansionare il codice.
krlmlr,

13

Il sito CRAN è stato aggiornato dalla risposta di @ krlmlr all'inizio di giugno: https://cran.r-project.org/bin/linux/ubuntu/ .

Le istruzioni CRAN prevedono diversi passaggi, ma il riepilogo è che il sources.listfile deve fare riferimento a un repository specifico per la versione 3.5.xe 3.6.x. La voce è qualcosa di simile

deb https://cloud.r-project.org/bin/linux/ubuntu xenial-cran35/

invece della precedente voce (senza versione) di

deb https://cloud.r-project.org/bin/linux/ubuntu xenial/

La descrizione pertinente dal sito Web (che alla fine cambierà):

I pacchetti R 3.6 per Ubuntu su i386 e amd64 sono disponibili per le versioni desktop più stabili di Ubuntu fino alla data di fine vita ufficiale. Tuttavia, solo l'ultima versione del supporto a lungo termine (LTS) è completamente supportata. A partire dal 18 novembre 2018 le versioni supportate sono Xenial Xerus (16.04; LTS), Trusty Tahr (14.04; LTS), Bionic Beaver (18.04; LTS), Cosmic Cuttlefish (18.10) e Disco Dingo (19.04). Nota, per installare i pacchetti R 3.6, è necessaria una voce sources.list diversa. Vedi sotto per i dettagli. Anche se R è passato alla versione 3.6, per compatibilità la voce sources.list utilizza ancora la designazione cran3.5.


modifica 13/05/2019: aggiornamento per la versione del mese scorso di R 3.6.0.


2

La xenial-cran35/versione del repository NON funziona se si dispone di una "versione predefinita" in apt, come nel caso di alcune distro che funzionano su Ubuntu, come Mint. Per la mia distro Mint, esiste un file /etc/apt/apt.conf.d/01ubuntuall'interno del quale si dichiara che Default-Release "xenial"; cosa significa che, poiché r-base esiste nel repository ubuntu alla versione 3.2, con la versione "xenial", non utilizzerà mai il ramo 3.6 dal altro repository, perché il nome di rilascio per quel repository è "xenial-cran35". È necessario modificare quel file per cambiare la versione predefinita in "xenail-cran35" o fare qualcosa di più indicato usando i file delle preferenze apt ( https://wiki.debian.org/AptPreferences#A.2Fetc.2Fapt.2Fpreferences ).

Questo è fondamentalmente colpa di R per avere un repository mal formattato. Avrebbero dovuto avere 2 repository, ognuno dei quali aveva una cartella di rilascio "xenial", un URL per il lavoro di ramo 3.2 e uno per il lavoro di ramo 3.5+. Invece hanno un repository e hanno invece bastardizzato il "nome della release", che in qualche modo funziona per Ubuntu di base, ma non funzionerà se si ha una configurazione non base di apt in questo modo.


0

Questo deve essere fatto così così attualmente:

sudo apt purge r-base* r-recommended r-cran-*
sudo apt autoremove
sudo add-apt-repository 'deb https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/'
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9
sudo apt update
sudo apt install r-base-dev

'bionic' può essere cambiato nella tua versione di ubuntu; controlla i documenti R: https://cran.r-project.org/bin/linux/ubuntu/

/programming//a/56378217/4549682

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.