2017-04-16 1 views
0

Ich bin neu in beiden Elixir und Phoenix. Zur Zeit habe ich Bedenken, Bibliotheken aus privaten oder lokalen Mixprojekten herunterzuladen oder zu verwenden. Nehmen wir an, mein Name des lib-Projekts lautet: my_custom_mix_app und es ist eine OTP-App mit gen_server. Und ich möchte, dass es genau wie unten in meiner Phoenix App funktioniert.Elixir Abhängigkeit von lokalen Projekt oder private Repo

defp deps do 
    [{:phoenix, "~> 1.2.1"}, 
    {:phoenix_pubsub, "~> 1.0"}, 
    {:phoenix_ecto, "~> 3.0"}, 
    {:mariaex, ">= 0.0.0"}, 
    {:phoenix_html, "~> 2.6"}, 
    {:phoenix_live_reload, "~> 1.0", only: :dev}, 
    {:gettext, "~> 0.11"}, 
    {:cowboy, "~> 1.0"}, 
    {:my_custom_mix_app, "~> 1.0"] 
end 

Nun, da ich herkam Java Hintergrund, was ich tun kann, dass durch Maven oder Gradle verwenden, selbst wenn das lib Projekt in meinem lokalen Laufwerk sein geschieht, und nicht in irgendeiner entfernten Maven Repo registriert.

Wie kann ich das in Elixir tun?

P.S. Ich überprüfte dieses article bezüglich des Erstellens von Elixir deps, aber es löst nicht mein Interesse auf einem nicht registrierten Lib Projekt

Dank.

Antwort

0

Sie können durch Hinzufügen eines path: Schlüssel wie so den lokalen Pfad zu Ihrem Projekt bieten:

defp deps do 
    ... 
    {:my_custom_mix_app, path: "path/to/the/app"} 
end 
1

Es gibt zwei Möglichkeiten interne App nutzen Abhängigkeit

Regenschirm

defp deps do 
    ... 
    {:my_app, in_umbrella: true} 
end 

nicht-regenschirm

defp deps do 
    ... 
    {:my_app, path: "path/to/the/app"} 
    {:my_app_git, git: "https://repo.com/my/app.git} 
end 

Gut dokumentiert https://hexdocs.pm/mix/Mix.Tasks.Deps.html

+0

Der Weg Ansatz funktioniert gut, wenn Sie eine Abhängigkeit zu entwickeln. Die Abhängigkeit wird jedes Mal neu kompiliert, wenn Sie Ihr Hauptprojekt neu starten. –

Verwandte Themen