为什么我会收到此错误`(混合)找不到依赖的SCM:cowboy`

时间:2018-02-27 05:35:40

标签: elixir mix

我有一个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

当我在ubuntu上运行mix deps.get时出现以下错误:

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

1 个答案:

答案 0 :(得分:1)

您应该在shell上运行mix local.hex。它将installs Hex locally

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