在 Mac OSX 10.10.5 上,执行以下操作将 Elixir 从 v1.0.x 升级到 v1.1.x 后:
$ brew update
$ brew upgrade elixir
尝试运行任何应用程序或启动 iex
时出现以下错误(已编辑长度):
=ERROR REPORT==== 27-Sep-2015::19:27:32 ===
** gen_event handler 'Elixir.Logger.ErrorHandler' crashed.
** Was installed in error_logger
** Last event was: <snip>
** When handler state == <snip>
** Reason == <snip>
** (ArgumentError) argument error
(elixir) lib/code.ex:363: Code.require_file/2
请在下面回答!
最佳答案
当 Elixir 应用程序/二进制文件使用与编译 Elixir 不同的 Erlang 版本运行时,似乎会发生这种情况。在本例中,代码是使用 Erlang 17 运行的,但是使用 Erlang 18 编译的。您可以在 Github issue 中阅读更多内容。 .
可以通过确保运行和编译 Erlang 版本匹配来补救。在我的 OSX 上的特定情况下,我安装了多个版本的 Erlang(均通过 Homebrew 和 Erlang Solutions installer )。
从头开始:
# (Optional) To remove the Erlang Solutions installed Erlang
sudo rm -rf /usr/local/lib/erlang/
# To remove all homebrew-managed versions of Elixir
brew uninstall --force elixir
# To remove all homebrew-managed versions of Erlang
brew uninstall --force erlang
重新安装:
brew install erlang
brew install elixir
关于macos - 将 Elixir 升级到 1.1.x 后收到 Logger.ErrorHandler 崩溃错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32811798/