LoginSignup
13
18

More than 5 years have passed since last update.

Elixirを Windows Subsystem for Linuxで

Last updated at Posted at 2019-01-13

2019-01-13_9-10-28.png

はじめに

開発環境をそれまでのWindowsからLinuxに全面的に移行しました。自分のメモも兼ねて書き記します。

発端

「プログラミングElixir」(Ohmsha)を読みつつ試していたのですが、Windows上のiexでどうも本の通りにならない箇所がありました。WindowsのターミナルはいまだにシフトJISが使われていますし、開発ツールもLinuxに比べれば充実していません。この際、WindowsからLinuxに移行することにしました。

Windows Subsystem for Linux(WSL)

以前からVMWareによりUbuntuを使っていました。メイン開発環境をUbuntuにすることにしたものの、仮想OSでは速度が出せません。また、最近になって動作が不安定でした。何か他にないかと探していましたら、マイクロソフト純正のUbuntuが提供されていることがわかりました。Windows10のサブシステムとして提供されているもので、仮想OSより効率が優れているということでした。これに移行することにしました。

WSLのインストール

WSLのインストールにあたっては下記の記事がとても参考になりました。この通りにやればだいじょうぶです。
https://qiita.com/Aruneko/items/c79810b0b015bebf30bb

リポジトリの変更は必ずやってください。これにより日本のJAISTに接続されるようになります。当初、これをやらずにアップデートしようとしたところが海外サーバーではうまくいきませんでした。JAISTのサーバーはしっかりしていて安心です。

Ubuntuのバージョン

当初、WSLで選択できるOSはUbuntuしかなかったそうなのですが、現在では各種のLinuxが提供されています。またUbuntuも最新バージョンのものと若干古いバージョン16.04の2つが提供されています。私は16.04の方にしています。Elixirを使う分にはどちらでも問題ないと思います。私が開発、メンテナンスしているISLisp、Prolog処理系につきGCC7.3ではうまく動作しませんでした。そこでGCCの古いものが使われている16.04の方を敢えて選択しています。

ATOMエディタ

Windows環境ではATOMを利用しています。Linuxでも同じATOMが使えると便利でした。WSLではWindows環境とLinux環境とが密に統合されています。Windows用のATOMがほぼそのまま使えます。WSLで利用するためには2つの点につき手を加える必要がありました。

〇ターミナルをWSLのbashに変更すること
〇改行コードをCRLFからLFにすること

ターミナルの変更

ATOMではターミナルを使うためにplatformio-ide-terminalというパッケージが利用できます。このデフォルトはWindowsのPower shell なのですが、これをWSLのbashに変更することができます。下記の記事が参考になりました。
https://fuchiaz.com/atom-wsl/

ターミナルを起動させるときにはATOMの画面の左下の + マークをクリックします。
2019-01-13_12-49-33.png

改行コードの変更

Windows用のATOMでは改行コードはCRLFです。しかし、LinuxではLFです。これを変更する必要があります。ATOMのパッケージに変更可能にするものがありました。
line-ending-converter というパッケージです。
下記の記事が参考になります。
https://loumo.jp/wp/archive/20151102000052/?fbclid=IwAR2HB9k83A0KW4-swVyyvkt6wzUlS6_cTMrVMqwqOqRKKVvLSIJ6UewDsc8

ターミナルを起動させると右下に改行文字が表示されます。CRLFとなっているものをクリックしてLFに変更します。これでLinuxのテキストを書き込むことができます。

2019-01-13_12-51-25.png

Elixirのインストール

いよいよElixirをインストールします。WSLのUbuntuのターミナルを起動します。WindowsのスタートメニューのUbuntuをクリックします。あるいは上記の設定ができていればATOMのターミナルもUbuntuが起動します。
公式ページのUbuntuでのインストールの説明の通りにWSLのターミナルから操作すればOKです。

Ubuntu 14.04/16.04/17.04/18.04 or Debian 7/8/9 
Add Erlang Solutions repo: wget https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb && sudo dpkg -i erlang-solutions_1.0_all.deb
Run: sudo apt-get update
Install the Erlang/OTP platform and all of its applications: sudo apt-get install esl-erlang
Install Elixir: sudo apt-get install elixir

快適

仮想OSで使うのと違ってメモリも食わず、性能も良好です。自作のISLisp、Prolog処理系も軽快に動作しWindows上での動作と遜色ありません。ATOMエディタはWindowsとUbuntuの両方に跨って使えるので便利です。メインはUbuntuにしつつもWindows上での開発、メンテナンスも継続しなければならなかったのでこの環境は快適です。

13
18
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
18