配置Mix代理后执行mix do deps.get, compile提示找不到Hex的问题
解决Elixir项目中"Could not find Hex"错误
这个问题很常见——Hex是Elixir官方的包管理器,你的本地环境还没安装它,而Maru这类第三方依赖必须通过Hex才能获取。别担心,几步就能搞定:
步骤1:安装Hex
在终端里执行这条命令,把Hex包管理器安装到你的本地Elixir环境中:
mix local.hex --force
加上--force参数可以自动覆盖旧版本(如果有的话),确保你拿到的是最新版Hex。
步骤2:重新执行依赖获取与编译
安装完Hex后,回到你的项目目录,重新运行你原来的命令:
mix do deps.get, compile
这时候Mix就能通过Hex找到Maru依赖,顺利完成下载和编译了。
额外说明
如果是刚安装的Elixir,第一次运行Mix命令时通常会自动提示安装Hex,但有时候这个提示可能被忽略或者没触发,手动执行mix local.hex就能补上这一步。之后如果再遇到类似的包获取问题,也可以先通过这条命令检查或更新Hex。
附上你提供的项目配置代码方便参考:
defmodule Elixirrest.MixProject do use Mix.Project def project do [ app: :elixirrest, 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 [ {:maru, "~> 0.13"} ] end end
内容的提问来源于stack exchange,提问作者Rafael Augusto
相关产品推荐
相关产品推荐

