将 Elixir 升级到 1 后收到 Logger.ErrorHandler 崩溃错误。1.x
Receiving Logger.ErrorHandler crash error after upgrading Elixir to 1.1.x
在 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 app/binary 运行 使用与编译 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
在 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 app/binary 运行 使用与编译 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