为什么我会收到这个错误 `(Mix) 找不到依赖的 SCM :cowboy `

Zha*_* Yi 5 elixir-mix elixir

我有一个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
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

我不明白为什么会发生在这里。似乎缺少依赖项,Hex但是如何Hex在我的系统上安装?

Yon*_* Hu 7

你应该mix local.hex在你的shell上运行。它将在本地安装 Hex

Hex是 Erlang VM 的包管理器,目前提供与 Elixir 的构建工具 Mix 集成的任务。