запуск команд эликсира яда в iex

Я новичок в elixir и хочу протестировать Poison функции из iex

https://hexdocs.pm/poison/1.3.1/#functions_details

iex> Poison.decode("[1,2,3]")

Когда я запускаю эту команду, я получаю сообщение об ошибке ниже.

iex(1)> Poison.decode("[1,2,3]")
** (UndefinedFunctionError) function Poison.decode/1 is undefined (module Poison is not available)
    Poison.decode("[1,2,3]")

Что я здесь делаю неправильно?


person veer7    schedule 22.10.2018    source источник


Ответы (2)


Если у вас есть проект mix (созданный mix new project_name или mix phx.new project_name), запустите iex -S mix, чтобы загрузить зависимости в консоль iex. Убедитесь, что вы находитесь в каталоге проектов. Если у вас нет такого проекта, создайте его.

Убедитесь, что необходимые пакеты перечислены в mix.exs:

defp deps do
  [
     {:poison, "~> 4.0"}
  ]
end
person denis.peplin    schedule 22.10.2018

Если вы просто запустите iex, дополнительный код не будет загружен. Предполагая, что poison добавлен в качестве зависимости в mix.exs, вы можете запустить iex в контексте вашего приложения, запустив:

iex -S mix

Вы также можете сделать:

iex -S mix run --no-start

В этом случае он только загрузит код, но не запустит ваше дерево контроля.

person Paweł Obrok    schedule 22.10.2018