#環境とバージョン
Mac:10.13.6
Erlang:21.1
Elixir:1.7.3
#インストール方法
今回は、ErlangをerlenvでElixirをexenvでインストールをします。
まず、Homebrewがインストールされていないなら下のリンクからインストールする。
Homebrew
Homebrewのインストールが済んだら、以下のコードを一行ずつターミナルで実行する。
brewからopensslをインストールし、Erlenvをgitで取得する。
brew update
brew install openssl
echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> .bash_profile
source ~/.bash_profile
cd
git clone https://github.com/talentdeficit/erlenv.git .erlenv
echo 'export PATH="$HOME/.erlenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(erlenv init -)"' >> ~/.bash_profile
source ~/.bash_profile
次に、Erlangをインストールする。
※ビルドの部分の・・・には自分のPCの名前を入れる。
// ダウンロードと解凍
curl -O http://erlang.org/download/otp_src_21.1.tar.gz
tar zxf otp_src_21.1.tar.gz
cd otp_src_21.1
//ビルド
./configure --prefix=/Users/・・・/.erlenv/releases/21.1 --enable-smp-support --enable-threads --enable-darwin-64bit --enable-kernel-poll --enable-hipe --without-javac --enable-dirty-schedulers --enable-sharing-preserving --enable-lock-counter --disable-sctp --with-ssl=/usr/local/opt/openssl --without-obdc
※ビルドの記述は分けずに入力してください
touch lib/wx/SKIP lib/odbc/SKIP
make
sudo make install
erlenv global 19.1
erlenv rehash
これで、Erlangのインストールは完了です。
下記のコードを実行して、正常にインストールされているか確認してください。
erl
確認ができたら、ctrl+cで抜けます。
次に、brewからexenvをインストールします。
brew install elixir-build
brew install exenv
echo 'export PATH="$HOME/.exenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(exenv init -)"' >> ~/.bash_profile
source ~/.bash_profile
※ここで下記のメッセージが表示されたらcd
を入力して.bashrcを作成してください。
-bash: .bashrc: No such file or directory
最後に、Elixirをインストールします。
exenv install -l
exenv install 1.7.3
exenv global 1.7.3
elixir -v
※インストールできるバージョンは1行目のexenv install -l
を実行したときに、表示されるので表示されているバージョンをインストールしてください。
これでElixirのインストールは完了です。
#Elixerを学び始めてつまづいたこと
@piacere_ex さんが連載しているExcelから関数型言語マスターの記事で学んでいた際につまづいたことについてまとめたいと思います。
この記事は、機能を一つずつ詳しく解説してくれているのでとてもわかりやすかったです。特に、forの説明は、C言語などをかじっている私からするととても助かりました。
唯一つまづいたところは、Phoenixのインストールです。
今回、私がインストールしたElixirのバージョンは1.7.3です。
このバージョンでは、記事の通りPhoenixをインストールをしてもインストールすることができない。
その理由は、Phoenixのホームページに書いてあった。
Elixirのバージョンが1.4より後のものは、
mix local.hex
このコードを入力する必要があるようです。