2016-08-08 48 views
1

Ich habe etwas Arbeit, die grob wie ein Julia-Paket strukturiert ist. Es hat eine REQUIRE-Datei, die ihre Abhängigkeiten von verschiedenen Paketen auflistet.Eine REQUIRE-Datei direkt ausführen?

Aber es ist kein registriertes Paket. Wenn ich daran arbeiten will, ich klonen eine größere git Repo, die einen Haufen Arbeit hat, in meinem Arbeitsbereich (nicht in ~/.julia/v0.5 wie APackage wäre)

Ich möchte meine REQUIRE Datei auszuführen und alle bekommen Von den Paketen hängt ich auf (in ~/.julia/v0.5 installiert). Und haben Julia's Paket-System mit der Versionierung Anforderungen.

Wie kann ich das tun?

(ich vermute Pkg3, wenn es um die Verwirklichung wird dies ein langer schöner machen)

+1

haben Sie versucht, [! Pkg.resolve] (http://docs.julaulang.org/en/latest/stdlib/pkg/?highlight=pkg.resolve#Base.Pkg.resolve)? – Gnimuc

+0

Wie übergebe ich den Speicherort meiner REQUIRE-Datei an die Funktion Pkg.resolve()? Führe ich es einfach aus, während mein Arbeitsverzeichnis eine REQUIRE-Datei enthält? –

+0

eine knappe Problemumgehung ist, einen neuen Ordner in '~/.julia/v0.5' zu machen und Ihre REQUIRE-Datei hinein zu legen, dann führen Sie' Pkg.resolve() ' – Gnimuc

Antwort

2

Wenn nicht registrierte Pakete eine REQUIRE Datei an der Spitze ihrer Quellbaum enthalten, wird diese Datei verwendet werden, um zu bestimmen, welche registrierte Pakete, von denen das nicht registrierte Paket abhängt, und sie werden automatisch installiert.

so ein heikles Problem umgehen, einen neuen Ordner (gefälschtes Paket zum Beispiel AAA) in ~/.julia/v0.x zu machen, die die Datei REQUIRE enthalten und dann Pkg.resolve() laufen.

-1

JULIA_PKGDIR kann nur einen Wert enthalten. Ich finde LOAD_PATH kommt mit den meisten Vorteilen, wie using mymodule.

Für Ihre Start .juliarc.jl Datei (vorausgesetzt, Sie sind onWindows):

locjpath = "C: \ users \ oxinabox \ j" push (LOAD_PATH, locjpath)

+0

Sie Post ist nicht unwahr . Ich habe mein LOAD_PATH in .juliarc gesetzt. und es ist nützlich. Ich sehe jedoch nicht, wie mir das bei der Installation meiner REQUIRE-Datei hilft. –