2015-09-27 60 views
1

在Mac OSX 10.10.5之后,执行以下步骤从v1.0.x升级仙丹v1.1.x后:接收Logger.ErrorHandler崩溃错误升级仙丹1.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 

回答!

回答

1

当Elixir应用程序/二进制文件与不同版本的Erlang一起运行时,Elixir编译时似乎会出现这种情况。在这种情况下,代码在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