Dies ist der Zweck der rbundler-Paket : eine Möglichkeit zu bieten, die Pakete zu kontrollieren, die für ein bestimmtes Projekt installiert werden. Momentan arbeitet das Paket mit der devtools-Funktionalität, um Pakete in Ihrem Projektverzeichnis zu installieren. Die Funktionalität ist ähnlich der von Ruby Bündler .
Wenn Ihr Projekt ein Paket ist (empfohlen), dann müssen Sie nur noch rbundler laden und die Pakete bündeln. Die bundle
Funktion sieht sich das Paket DESCRIPTION
Datei, um zu bestimmen, welche Pakete gebündelt werden sollen.
library(rbundler)
bundle('.', repos="http://cran.us.r-project.org")
Nun werden die Pakete in das Verzeichnis .Rbundle installiert.
Wenn Ihr Projekt kein Paket ist, dann können Sie es vortäuschen, indem Sie ein DESCRIPTION
Datei im Root-Verzeichnis Ihres Projekts mit einem Depends-Feld, das die Pakete auflistet, die Sie installieren möchten (mit optionalen Versionsinformationen):
Depends: ggplot2 (>= 0.9.2), arm, glmnet
Hier ist das github repo für das Projekt, wenn Sie daran interessiert sind, einen Beitrag zu leisten: rbundler .
1 Stimmen
@krlmlr Was ist mit der akzeptierten Antwort, die nicht mehr aktuell ist und überarbeitet werden muss? Bei mir funktioniert es (für ein paar schnelle Tests) unter
R version 3.0.2 (2013-09-25) x86_64-w64-mingw32/x64 (64-bit)
.1 Stimmen
@BrianDiggs: Es sind mindestens drei Pakete aufgetaucht, die sich mit diesem Problem befassen, nur auf eines wird unten verwiesen. Gibt es noch mehr - das ist die Frage.
3 Stimmen
@krlmlr Es scheint eine Art ironisches Huhn-Ei-Problem zu geben, wenn man ein Paket verwendet, um sicherzustellen, dass (andere) notwendige Pakete haben. Aber es ist sicher wert, dass jemand, der sich damit auskennt, eine Antwort schreibt.
2 Stimmen
@BrianDiggs: Das Bootstrapping dieses Installationsprüfungspakets ist ein notwendiges Ärgernis, aber ein kleines. Es sei denn, natürlich, die Funktionalität findet ihren Weg in
base
... ;-)1 Stimmen
Wenn man von Node.js kommt, ist es wahnsinnig, wie schwer das ist. Wie ist dies nicht eine erstklassige Funktion der Sprache?