Frage

Auf unserem Server ist R 2.12.1 gemäß den Anweisungen auf installiert http://cran.r-project.org/bin/linux/debian/ , verwenden apt-get install usw. usw.

Aufgrund der Umstände wurde die alte Lenny -Maschine nicht auf das neue stabile Debian aktualisiert, und es sieht so aus, als würde dies nicht bald passieren. Da einige der Forschungsergebnisse hier von der neuesten Version von VGAM abhängen, benötigen wir die auf Debian installierte R 2.14.0. Um den alten Code laufen zu lassen, können wir den R 2.12.1 nicht einfach fallen lassen (die Installation des VGAM 0.8.4 in dieser Version gibt Fehler an).

Wir müssen also 2 R-Versionen installieren. Von dem kleinen, das ich verstand, wenn wir nur benutzen apt-get upgrade Die alte Version wird durch das neue ersetzt. Ich habe viele Dokumentation durchgemacht, aber ich kann die optimale Möglichkeit nicht finden.

Das einzige, was ich mir jetzt vorstellen kann, ist zu versuchen, das neueste R aus der Quelle aufzubauen, aber meine Kollegen waren nicht sehr sehr an dieser Idee interessiert und veranlassten mich, zuerst nach einer anderen Lösung zu suchen. Irgendwelche Informationen, die ich verpasst habe, oder ist jemand bereit, mir den kleinen Trick zu zeigen, um dies zu erledigen? Wenn das Gebäude aus der Quelle die Lösung ist, würde ich gerne über Fallstricke oder mögliche Probleme hören.

War es hilfreich?

Lösung

Wie ich in Kommentaren erwähnt habe, ist dies theoretisch möglich, genau wie einige Paketfamilien (EMACs, PostgreSQL, ...) können mehrere gleichzeitige Versionen zulassen.

Ich kann das momentan nicht anbieten, wenn wir verwenden /usr/{share,lib}/R welche Konflikte. Wenn ich das machen würde /usr/{share,lib}/R-$version und dann verwenden dpkg-alternatives Um zu einem bevorzugten Standard zu fliehen, könnten wir es möglicherweise tun. Das Problem ist der Übergang. Diese Funktion wird von einer Minderheit des Benutzers verwendet, und das Erreichen von IT kann Fehler für eine Mehrheit vorstellen, bis dies stabil ist. Außerdem habe ich nicht die Freizeit (aber wenn jemand anderes es tun möchte, tun Sie dies bitte).

In der Zwischenzeit können Sie

  1. Verwenden Sie möglicherweise eine erweiterte Funktion von dpkg und Auspacken Sie in ein lokales Verzeichnis, ärger die folgende Standardeinstellung / -- Also /opt/R/oldversions/2.12.1 sollte möglich sein. R könnte sogar laufen, Sie müssen neu definieren $RHOME entsprechend.

  2. Bauen Sie einfach lokale Varianten auf /usr/local wenn du Ja wirklich muss

  3. Wenn ein bestimmtes Cran / Nicht-CRAN-Paket behauptet, eine bestimmte Version von R zu benötigen, beheben Sie das verdammte Paket bereits! ;-)

Schließlich ist dies ein Thema für r-sig-debian Wie zB der Cran -Betreuer Michael und Johannes werden diesen Thread hier nicht lesen.

Andere Tipps

Sie können verschiedene Versionen jeder Software mit ordnungsgemäßen Kompilierflags installieren. Wenn Sie das Skript Konfigurieren mit -HELP ausführen, sollten Sie eine Option zum Installieren von Root sehen.

Sich ansehen

./configure --help
...
Installation directories:
  --prefix=PREFIX         install architecture-independent files in PREFIX
                          [/usr/local]

Sie können also R-2.14 installieren, um:

/usr/local/R/2.14

und Sie können R-2.12 installieren, um:

/usr/local/R/2.12

Wenn Sie das Konfigurationsskript starten, tun Sie:

./configure --prefix=/usr/local/R/2.14

usw.

Ich denke, wenn es kein Debian -Repo gibt, das mehrere Versionen liefert, ist es schwierig, zwei Versionen von R reibungslos zu halten, ohne R aus der Quelle zu kompilieren.

Was ich oft mache, ist, R in meinem Heimat -Dir zu installieren, da unser Institut uns keine Wurzel Privilegien gibt. Um eine Quellversion von R Systemwide zu installieren, können Sie diese in einem separaten Verzeichnis (z. B. /opt/r2.14) installieren und verwenden:

./configure --prefix=/opt/R2.14/

Der letzte Schritt besteht darin, einen symbolischen Link zum R -Binary zu erstellen:

ln -s /opt/R2.14/bin/R /usr/bin/R2.14

Benutzer können als zwei Versionen von R (R und R2.14) starten. Hoffe das hilft!

Es ist wahr, dass das Erstellen von R aus der Quelle sehr einfach ist (auch ich kann es tun!), Solange Sie den folgenden Befehl kennen, um zuerst auszuführen:

apt-get build-dep r-base

Andern make. Vielen Dank an Dirk, das dieses Juwel in der Vergangenheit veröffentlicht hat. Ich habe das nicht im Handbuch, im Readme oder im FAQ gesehen.

Dann ist es nur:

./configure
make

Ich nehme an, dies könnte dann eine Überlegung für Sie sein: Verwendet R statische oder dynamische Systembibliotheken? Könnte ein selbst gebautes R-Link zu verschiedenen Bibliotheken als der vorverpackte binäre R? (Ich weiß nicht). Wie viel Sie darauf einlassen, hängt davon ab, wie kritisch Ihre Anwendung von R ist und welche Systembibliotheken für Sie von entscheidender Bedeutung sind.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top