haiju's 開発メモ

開発に必要な情報を自分用にメモ

Manjaro GNOME 18.0_x86-64のErlangのVM(BEAM)で動作するClojure処理系を動かしてみた

本当はBEAM上で動作するPureScript処理系のpurerlを

動かしたいのだが、BEAMで動作する処理系のインストール

情報的に一番少なくて、よくわからなかったので、

Clojure処理系のclojerlをインストールしてHello World!

をブラウザに出力するサンプルアプリを動かすために

実行した手順をまとめてみる(Φω|

[手順]

1. pacmanerlangをインストール。

% sudo pacman -S erlang

2. rebar3の安定版バイナリをwgetでDL。

wget https://s3.amazonaws.com/rebar3/rebar3 && chmod +x rebar3

3. 2で取得したrebar3をローカルインストール。

% ./rebar3 local install

4. .zshrcにrebar3を以下のように追加。

% vim .zshrc

export PATH=/home/haiju/.cache/rebar3/bin:$PATH

% source ~/.zshrc

5. サンプルアプリ(example-web-app)をgit clone。

% git clone https://github.com/clojerl/example-web-app

6. example-web-appに移動しビルド。

(ex)workspace/example-web-appで実行

% cd example-web-app

% rebar3 clojerl compile

7. REPLを起動。

% rebar3 clojerl repl

===> Verifying dependencies...
===> Compiling web-app
===> Clojerl Compiling cowboy
===> Clojerl Compiling cowlib
===> Clojerl Compiling ranch
===> Clojerl Compiling web-app
Clojure 0.1.0-1324.53724f5
clje.user=>

8. REPLでアプリを起動。

clje.user=> (application/ensure_all_started :web-app)
#erl[:ok #erl(:ranch :cowlib :cowboy :web-app)]
clje.user=>

9. Webブラウザ(Chromium)でlocalhostにアクセス。

f:id:haiju:20190128172815p:plain

Hello World!が出力されればOK。

※元のターミナルには「CTRL + D」で戻れる。

※おそらく、purerlもインストール前に予めpacman

 erlangをインストールするかソースコードからフルで

 ビルドしてインストールしてstackでビルドすれば

 動くんじゃないかなー?という予想。

 (家で改めて試して確認する予定)

[参考サイト]

github.com

erlang.org

gist.github.com

github.com

www.rebar3.org

github.com