Elixir 1.0.5がリリースされ、Ubuntuの場合、Elixirのinstallの説明にあるようにErlang Solutionsのレポジトリを追加しておくと、
# sudo apt-get safe-upgrade
でelixirのアップデートがかかります(amd64/x86の場合)。
The following packages will be upgraded:
elixir
(中略)
Get: 1 http://binaries.erlang-solutions.com/debian/ trusty/contrib elixir amd64 1.0.5-1 [2,059 kB]
Preparing to unpack .../elixir_1.0.5-1_amd64.deb ...
Unpacking elixir (1.0.5-1) over (1.0.4-1) ...
しかし、どうもErlang/OTP 17.5とは相性が悪く…iexが
hostname:~$ iex
Erlang/OTP 17 [erts-6.4] [source] [64-bit] [async-threads:10] [hipe] [kernel-poll:false]
=ERROR REPORT==== 1-Jul-2015::00:09:43 ===
** gen_event handler 'Elixir.Logger.ErrorHandler' crashed.
** Was installed in error_logger
** Last event was: {info_report,<0.50.0>,
{<0.52.0>,progress,
[{supervisor,{local,'Elixir.Logger.Supervisor'}},
{started,
(中略)
*** ERROR: Shell process terminated! (^G to start new job) ***
=INFO REPORT==== 1-Jul-2015::00:09:43 ===
application: logger
exited: shutdown
type: temporary
エラーになってしまい起動しません。
簡単な解決法はErlang/OTPを18にアップグレードするです。
hoge:~$ wget http://www.erlang.org/download/otp_src_18.0.tar.gz
hoge:~$ tar xzf otp_src_18.0.tar.gz
hoge:~$ cd otp_src_18.0
hoge:~$ ./configure && make
hoge:~$ sudo make install
で/usr/local/bin以下にErlang/OTP 18がインストールされます。Erlangのビルドは思ったより軽い(ビルド時間短め)なので助かります。
hostname:~$ iex
Erlang/OTP 18 [erts-7.0] [source] [64-bit] [async-threads:10] [hipe] [kernel-poll:false]
Interactive Elixir (1.0.5) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)>
今度は無事に起動しました。