Определите зависимое приложение от времени компиляции на mix.ex

В модуле я звоню HTTPoison.start() (связанный вопрос Используйте HTTPoison для инициализации атрибута модуля)

Но я хотел бы настроить его в mix.exЯ прочитал документацию по миксу и добавил ее в extra_applications: [:httpoison] но не сработало, тоже пробовал с applications а также included_applications, Что я делаю неправильно?

Редактировать.

defmodule TestDep.MixProject do
  use Mix.Project

  def project do
    [
      app: :testdep,
      version: "0.1.0",
      elixir: "~> 1.6",
      start_permanent: Mix.env() == :prod,
      deps: deps()
    ]
  end

  # Run "mix help compile.app" to learn about applications.
  def application do
    [
      extra_applications: [:logger]
    ]
  end

  # Run "mix help deps" to learn about dependencies.
  defp deps do
    [
      {:httpoison, "~> 1.0"}
      # {:dep_from_hexpm, "~> 0.3.0"},
      # {:dep_from_git, git: "https://github.com/elixir-lang/my_dep.git", tag: "0.1.0"},
    ]
  end
end

defmodule TestDep do
  @moduledoc """
  Documentation for TestDep.
  """

  #HTTPoison.start()
  HTTPoison.get! "www.google.es"
end

1 ответ

Пока кто-нибудь не предложит возможное решение, я отвечу на форумах elixir:

Приложения, перечисленные в extra_applications, все еще запускаются во время запуска, а не во время компиляции. Если вам нужно использовать HTTPoison во время компиляции, вам нужно запустить его во время компиляции вручную.

Другие вопросы по тегам