【问题标题】:UndefinedFunctionError phoenix elixir new projectUndefinedFunctionError phoenix elixir 新项目
【发布时间】:2016-02-20 04:50:34
【问题描述】:

全新安装 Phoenix,我尝试触发一个新项目,当我尝试运行服务器时,遇到:

Unchecked dependencies for environment dev:
 * gettext (Hex package)
  the dependency is not available, run "mix deps.get"
 * phoenix_live_reload (Hex package)
  the dependency is not available, run "mix deps.get"
 * cowboy (Hex package)
 * List item
...

但是当我运行mix deps.get 时,我得到:

Running dependency resolution
** (UndefinedFunctionError) undefined function Access.Map.get_and_update!/3 (module Access.Map is not available)
    Access.Map.get_and_update!(%Mix.Dep{app: :cowboy, deps: [], extra: [], from: "/Users/victoriawagman/Dropbox/Hemsidor/digitalocean/hello_phoenix/mix.exs", manager: nil, opts: [hex: :cowboy, build: "/Users/victoriawagman/Dropbox/Hemsidor/digitalocean/hello_phoenix/_build/dev/lib/cowboy", dest: "/Users/victoriawagman/Dropbox/Hemsidor/digitalocean/hello_phoenix/deps/cowboy"], requirement: "~> 1.0", scm: Hex.SCM, status: {:unavailable, "/Users/victoriawagman/Dropbox/Hemsidor/digitalocean/hello_phoenix/deps/cowboy"}, top_level: true}, :deps, #Function<13.85268495/1 in Hex.Resolver.attach_dep_and_children/3>)
    (hex) lib/hex/resolver.ex:188: Hex.Resolver.attach_dep_and_children/3
    (hex) lib/hex/resolver.ex:148: Hex.Resolver.get_deps/5
    (hex) lib/hex/resolver.ex:107: Hex.Resolver.activate/6
    (hex) lib/hex/resolver.ex:31: Hex.Resolver.resolve/3
    (hex) lib/hex/remote_converger.ex:31: Hex.RemoteConverger.converge/2
    (mix) lib/mix/dep/converger.ex:92: Mix.Dep.Converger.all/4
    (mix) lib/mix/dep/converger.ex:47: Mix.Dep.Converger.converge/4

我不知道要搜索什么来深入挖掘,试图找出我可以做些什么来了解问题所在并修复它。请假设我不知道,我正在学习。

另外,我不知道如何单独重新安装十六进制,所以我现在正在寻找,如果是这样我也有一个corrupt install of hex

【问题讨论】:

  • 你用的是什么版本的 Elixir?
  • 您运行的是哪个版本的 Phoenix 和 Elixir?您可以通过输入iex --version 找到您的Elixir 版本,您可以在运行mix help 后通过查找phoenix.new 任务来查看您的phoenix 版本
  • iex --version Erlang/OTP 18 [erts-7.2.1] [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel -poll:false] [dtrace] 和 Phoenix v1.1.1
  • 甜蜜! phoenix 版本包含在 mix phoenix.new 中:D

标签: elixir phoenix-framework


【解决方案1】:

看来我的十六进制安装已损坏。 运行

mix local.hex

根据Henrik 的建议解决了这个问题! 他会在其他人的帖子中指出hex might be corrupt

接下来是关于缺少模块早午餐的警告,但通过运行 npm install 解决了这个问题(作为触发服务器时的输出建议)。

快乐的日子!

【讨论】:

  • 很高兴你修好了! :D Hex 可能已经“损坏”了,因为您已经更新了 Elixir 版本,而旧的 Hex,对于旧 Elixir 版本,仍然安装在您的机器上。
猜你喜欢
  • 2017-10-21
  • 2022-01-21
  • 2021-12-01
  • 1970-01-01
  • 2016-10-02
  • 2023-03-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多