簡體   English   中英

如何將erlang包添加到elixir應用程序中

[英]How to add erlang packages into an elixir application

我正在嘗試使用edeliver構建我的elixir應用程序的edeliver但我收到以下錯誤。

==> Failed to build release:

    Undefined applications: [xmerl]

我正在嘗試將xmerl添加到mix.exs文件中的deps列表中,但我不確定如何執行此操作。

任何幫助將不勝感激。 提前致謝

這是我項目中當前的deps列表...

defp deps do
  [{:phoenix, "~> 1.2.1"},
   {:appsignal, "~> 1.0"},
   {:phoenix_pubsub, "~> 1.0"},
   {:phoenix_ecto, "~> 3.0"},
   {:postgrex, ">= 0.0.0"},
   {:phoenix_html, "~> 2.6"},
   {:phoenix_live_reload, "~> 1.0", only: :dev},
   {:phoenix_html_sanitizer, "~> 1.0.0"},
   {:gettext, "~> 0.11"},
   {:cowboy, "~> 1.0"},
   {:earmark, "~> 1.1"},
   {:comeonin, "~> 3.0"},
   {:credo, "~> 0.7.2", only: [:dev, :test]},
   {:timex, "~> 3.0"},
   {:segment, github: "tonydaly/analytics-elixir"},
   {:bamboo, "~> 0.7"},
   {:bamboo_smtp, "~> 1.2.1"},
   {:mock, "~> 0.2.0", only: :test},
   {:faker, "~> 0.7"},
   {:wallaby, "~> 0.16.1"},
   {:ecto_factory, "~> 0.0.6"},
   {:oxleas_adhd, in_umbrella: true},
   {:plug, "~>1.3.5", override: true}
 ]
end

為了將來的訪客,我會在這里提出正確的答案。

mix.exs文件應該聲明兩個回調: project和(可選) application

當項目要作為應用程序運行時使用后者,並且超出了此問題的范圍。 前者必須返回一個關鍵字列表,描述當前的Mix.Project 此關鍵字列表可能顯然包含deps關鍵字,以返回此項目的依賴項列表。 這些依賴關系將由mix工具半自動管理(提取,重建等)。

默認情況下, mix new task為project回調生成一個腳手架,返回此列表,如:

  def project do
    [
      app: :blah,
      version: "0.1.0",
      elixir: "~> 1.7-dev",
      start_permanent: Mix.env() == :prod,
      deps: deps() # ⇐ HERE
    ]
  end

如果一個人會堅持使用建議的腳手架,他們應該實現私有函數deps (見上最后一行。)

如果您有一個依賴項,只需在原地進行:

  def project do
    [
      app: :blah,
      version: "0.1.0",
      elixir: "~> 1.7-dev",
      start_permanent: Mix.env() == :prod,
      deps: [{:exmerl, "~> 0.1"}] # ⇐ HERE
    ]
  end

exmerlxmerlexml或任何其他的Elixir包裝器。

def deps do
  [
    {:xmerl, "~> 1.3.16"}
  ]
end

你必須取得deps,

$ mix deps.get

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM