У меня есть проект elixir, а ниже - файл конфигурации микса:

defmodule MyFirstApp.Mixfile do
  use Mix.Project

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

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

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

При запуске mix deps.get в ubuntu у меня возникла ошибка:

mix deps.get
Could not find Hex, which is needed to build dependency :cowboy
Shall I install Hex? (if running non-interactively, use "mix local.hex --force") [Yn] ** (Mix) Could not find an SCM for dependency :cowboy from MyFirstApp.Mixfile
Exited with code 1

Я не понимаю, почему здесь происходит. Кажется, что отсутствует зависимость Hex, но как я могу установить Hex в моей системе?

5
Joey Yi Zhao 27 Фев 2018 в 08:35

1 ответ

Лучший ответ

Вы должны запустить mix local.hex в своей оболочке. Он устанавливает Hex локально.

Hex - это менеджер пакетов для виртуальной машины Erlang, который в настоящее время предоставляет задачи, которые интегрируются с Mix, инструментом сборки Elixir.

6
YongHao Hu 27 Фев 2018 в 09:06