2017-04-16 54 views
0

我是Elixir和Phoenix的新手。目前我有一些關於從私人或本地混音項目下載或使用圖書館的問題。 假設我的lib項目名稱爲:my_custom_mix_app及其使用gen_server的OTP應用程序。我希望它能夠像我的鳳凰應用程序下面的代碼片段那樣做。Elixir依賴當地項目或私人回購

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 

嗯,因爲我來自的Java背景,我可以做到這一點通過使用Maven或搖籃,即使LIB項目恰好是在我的本地驅動器,並在任何遠程Maven回購未註冊。

我如何在Elixir中做到這一點?

P.S.我檢查了這個article關於創建Elixir deps,但它並沒有解決我的問題未註冊 lib項目

謝謝。

回答

0

您可以通過添加一個path:鍵像這樣提供給你的項目的本地路徑:

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

有兩種方法可以使用內部應用程序依賴

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

非傘

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

這裏https://hexdocs.pm/mix/Mix.Tasks.Deps.html

+0

有據可查的路徑方法的偉大工程,當你開發的依賴。無論何時重新啓動主項目,都會重新編譯依賴項。 –