在Ubuntu中升级到Elixir 1.7

时间:2018-07-27 20:19:15

标签: elixir

我正尝试升级到elixir 1.7(我目前有1.6.0)。 我在终端机中运行了brew upgrade elixir,但它显示了Error: elixir not installed。 而当我运行elixir --version时,我得到的是奇怪的输出:

=SUPERVISOR REPORT==== 27-Jul-2018::15:03:35.806956 ===
        supervisor: {local,'Elixir.Logger.Supervisor'}
    errorContext: start_error
    reason: noproc
    offender: [{pid,undefined},
               {id,'Elixir.Logger.ErrorHandler'},
               {mfargs,
                   {'Elixir.Logger.Watcher',start_link,
                       [{error_logger,'Elixir.Logger.ErrorHandler',
                            {true,false,500}}]}},
               {restart_type,permanent},
               {shutdown,5000},
               {child_type,worker}]
=CRASH REPORT==== 27-Jul-2018::15:03:35.806836 ===
  crasher:
    initial call: Elixir.Logger.Watcher:init/1
    pid: <0.88.0>
    registered_name: []
    exception exit: noproc
      in function  gen:do_for_proc/2 (gen.erl, line 228)
      in call from gen_event:rpc/2 (gen_event.erl, line 239)
      in call from 'Elixir.Logger.Watcher':init/1 (lib/logger/watcher.ex, line 23)
      in call from gen_server:init_it/2 (gen_server.erl, line 374)
      in call from gen_server:init_it/6 (gen_server.erl, line 342)
    ancestors: ['Elixir.Logger.Supervisor',<0.82.0>]
    message_queue_len: 0
    messages: []

(更多崩溃报告在这里)...最后:

Erlang/OTP 21 [erts-10.0] [source] [64-bit] [smp:2:2] [ds:2:2:10] [async-threads:1] [hipe]

Elixir 1.6.0 (compiled with OTP 19)

我不确定发生了什么,现在我什至无法运行我的长生不老药程序。

2 个答案:

答案 0 :(得分:1)

我不确定导致错误的原因,但如果安装已损坏,请尝试brew reinstall elixir

答案 1 :(得分:1)

一定要使用系统范围的Elixir,这不是一个好主意。有许多版本管理器,例如asdfexenv和其他版本管理器,用于管理计算机上不同的Elixir版本。我建议使用其中任何一个。

回答您的问题。我对brew一无所知,但看来您应该先清理一下盒子。

  1. 将Erlang降级为20.0-
  2. 卸载Elixir 1.6
  3. 将Erlang升级到21.0
  4. 安装最新的Elixir(我仍然建议使用版本管理器进行安装,因为那样的话,您可能会同时存在许多不同的版本,这或早或晚会很有用。)