2016-02-19 6 views
5

Ich renne R CMD INSTALL --build package auf einem Windows-Computer. Mein Paket importiert einige andere Pakete, die wiederum von einigen weiteren Paketen abhängig sind. Ich habe alle Abhängigkeiten im lokalen r_libs-Ordner installiert und alles funktioniert.Wie verwende ich R CMD Installation ohne Abhängigkeitsüberprüfung?

Jetzt habe ich manchmal den Quellcode meines Pakets auf einem anderen Windows-Computer. Auf diesem Computer sind nicht alle Abhängigkeitspakete installiert.

Wenn ich versuche, R CMD INSTALL --build package zu verwenden, erhalte ich die offensichtliche "ERROR: dependencies 'package a', 'package b', etc, are not available for package"

Meine Frage lautet:. Kann ich bauen das Paket R CMD INSTALL --build ohne die Abhängigkeitsprüfungen mit und ohne die Import und Depends Einträge in der DESCRIPTION Datei zu entfernen?

nach --help Beratung habe ich versucht, die --no-test-load Option, aber kein Glück.

+0

nicht sicher, ob ich verstanden, tun Sie das Paket installiert werden soll, ohne die Abhängigkeiten zu installieren? – nicola

+3

@nicola OP möchte eine Windows-Binärdatei erstellen, ohne dass alle Abhängigkeiten installiert sind. AFAIK das ist nicht möglich. –

+0

@JorisMeys, richtig. Ich experimentierte ein wenig mehr und fand heraus, dass ich es innerhalb von R mit install.packages ("package", repos = NULL, type = 'source', INSTALL_opts = "- build") machen kann. Dennoch wäre ich immer noch interessiert, wenn es mit R CMD INSTALL gemacht werden könnte? –

Antwort

3

ich rechne damit Sie auf einem comp eine .zip binäre Version des Pakets bauen wollen uter, in dem nicht alle Abhängigkeiten installiert sind. Und ich fürchte, ich werde Sie enttäuschen müssen, denn das wird nicht möglich sein.

Das Erstellen eines Binärpakets erfolgt in zwei Schritten: Zuerst wird das Paket von der Quelle installiert (deshalb müssen Sie R CMD INSTALL verwenden und dann werden die erstellten Binärdateien in einem praktischen Format für die Installation auf einer Windows-Maschine gezippt. Die Abhängigkeiten sind Zum Zeitpunkt der Installation von der Quelle überprüft, und alle fehlenden Abhängigkeiten werfen den Fehler Sie konfrontiert sind.

Da R Informationen aus den Abhängigkeiten zum Zeitpunkt der Installation von der Quelle benötigt, können Sie nicht um die Installation von ihnen vor dem Erstellen der Das ist auch sinnvoll: Ein installiertes Paket in R enthält eine Gruppe von .rds-Dateien, die Paketinformationen in einem für R bequemeren Format enthalten. Um diese Informationen für die NAMESPACE-Datei zu erstellen, muss dies der Fall sein Zugriff auf die Pakete, von denen Funktionen importiert werden. Wenn nicht, kann es die richtigen Informationen über den Namespace nicht erstellen.

Sie können also nur die Abhängigkeiten auf dem Computer installieren, den Sie zum Erstellen verwenden. Und wenn Sie das Paket tatsächlich auf diesem Computer verwenden möchten, müssen Sie diese Abhängigkeiten trotzdem installieren.

Weitere Informationen: R Internals: https://cran.r-project.org/doc/manuals/r-release/R-ints.html#Package-Structure

Schreiben R Erweiterungen: https://cran.r-project.org/doc/manuals/r-release/R-exts.html#Package-namespaces

Verwandte Themen