Определите зависимое приложение от времени компиляции на 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 во время компиляции, вам нужно запустить его во время компиляции вручную.