elixir を Mac で使うなら asdf でバージョン管理しよう!
概要
先日参加させていただきました、Elixirのもくもく会で教わった内容となりますが、Macでの環境構築時のメモです。
現在のところ、Elixir を使うのであれば、asdf を使うか DockerHub を使うかの2択のようです。他のインストール方法だと、バージョン等の問題でおすすめ出来ないようなお話でした。
ここでは、asdf を使った構築を書いていきます。
Homebrewとgitは入っている事が前提です。
- Mac 10.14.6 Mojave
- Homebrew 2.1.11
- git version 2.21.0 (Apple Git-122.2)
- bash, version 3.2.57(1)-release
参考にしたサイト
asdf のインストール
まず、asdf に必要なライブラリを入れていきます。
$ brew install coreutils automake autoconf openssl libyaml readline libxslt libtool unixodbc
asdf を Github より clone します。
$ git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.6.0
そして、パスを通しましょう。
$ echo -e '\n. $HOME/.asdf/asdf.sh' >> ~/.bash_profile
$ echo -e '\n. $HOME/.asdf/completions/asdf.bash' >> ~/.bash_profile
ここで忘れないように、.bash_profile
の読み直しをして、通したパスを有効にします。
$ source .bash_profile
※上記のコマンドを忘れていると、つぎのコマンドが動きませんので、様子がおかしい場合は、ターミナルの再起動を行いましょう。
必要なasdfプラグインも入れておきます
$ asdf plugin-add erlang https://github.com/asdf-vm/asdf-erlang.git
$ asdf plugin-add elixir https://github.com/asdf-vm/asdf-elixir.git
ここまでで asdf の準備は整いました。
Erlang のインストール
つぎは、 Elixir の母体となる Erlang を入れましょう。これがないと Elixir が動きません。
$ asdf list-all erlang
でインストール可能なバージョンを確認します。
・
・
22.1.3
22.1.4
22.1.5
22.1.6
22.1.7
22.1.8
$
このような感じでざっと表示されます。
大体一番下の新しいバージョンを入れておけば良いようですので、
$ asdf install erlang [バージョン番号の新しいの]
上の結果の場合、
$ asdf install erlang 22.1.8
と書けば良い事になります。
ここで、JDK がインストールされていないと、
このようなダイアログが出現します。
この時に反射的にOKを押さずに、「詳しい情報」をクリックして、JDKをインストールしましょう。
ぽちっとボタンを押してインストールしましょう。
JAVAのインストールが終わると自動的に Erlang のインストールは再開されます。
結構時間が掛かる場合がありますが慌てず待ちます。
インストール出来たら確認しましょう。
$ asdf list erlang
このように打つと、インストール出来ているバージョンが全て表示されます。
上記の例でいうと、
$ asdf list erlang
22.1.8
このようになります。
次に、asdf に 普段使う erlang のバージョンを指定します。
$ asdf global erlang [入れたバージョン]
となりますので、今回は
$ asdf global erlang 22.1.8
ですね。
Elixir のインストール
全く同じ手順となりますが、続いて Elixir も入れていきます。
$ asdf list-all elixir
このとき、私の実行環境では、
・
・
1.9.3
1.9.3-otp-20
1.9.3-otp-21
1.9.3-otp-22
1.9.4
1.9.4-otp-20
1.9.4-otp-21
1.9.4-otp-22
master
master-otp-21
master-otp-22
16:44:~$
このように表示されました。
$ asdf install elixir [バージョン番号の新しいの]
先程と同様、このように書けますが、今回は、
1.9.4-otp-22
を入れます。どうやら、otp-22 というのが、Erlang とのマッチングに関わるのだと思います。結果、
$ asdf install elixir 1.9.4-otp-22
このようになります。今度はインストールに時間がほぼ掛かりません。
終わったら、インストール出来た確認です。
$ asdf list elixir
1.9.2-otp-22
このように入れたバージョンが返ってくればOKです。
最後に、通常使う Elixir のバージョン指定をします。
$ asdf global elixir [入れたバージョン]
ですので、
$ asdf global elixir 1.9.2-otp-22
このように指定すれば良いですね。
では、一応確認。
$ elixir -v
Erlang/OTP 22 [erts-10.5.6] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [hipe]
Elixir 1.9.4 (compiled with Erlang/OTP 22)
そして、ここまで出来ると、 iex という対話型のプログラミングツールを使う事が出来ます。
$ iex
Erlang/OTP 22 [erts-10.5.6] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [hipe]
Interactive Elixir (1.9.4) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)> "hello"
"hello"
iex(2)> 1 + 2
3
iex(3)> ["hello", "world"]
["hello", "world"]
完了です。では楽しんでください!
気がつく事などございましたらご指摘いただけると幸いです。
Author And Source
この問題について(elixir を Mac で使うなら asdf でバージョン管理しよう!), 我々は、より多くの情報をここで見つけました https://qiita.com/tomoaki-kimura/items/004fe6d98d88fa494997著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .