概要
vagrantで作成したUbuntu1204 + Erlang R16B + Elixir環境でElixirをHello Worldする
内容
前提
・Vagrantが使用可能な環境を構築すること
Windows7環境へのvagrantインストールについては下記参照
http://d.hatena.ne.jp/tbpg/20131017/1382016334
・Erlang R16Bのインストールを行う
※Vagrantfile参照
Elixirのインストール
※Vagrantfile参照
Vagrantfile
# -*- mode: ruby -*- # vi: set ft=ruby : $script = <<SCRIPT su - vagrant -c ' PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games sudo apt-get -y install git sudo apt-get update -y sudo apt-get install build-essential -y mkdir /home/vagrant/work cd /home/vagrant/work sudo aptitude install erlang -y sudo aptitude install libncurses5-dev -y wget http://www.erlang.org/download/otp_src_R16B01.tar.gz tar zxvf otp_src_R16B01.tar.gz cd otp_src_R16B01 ./configure make sudo make install git clone https://github.com/elixir-lang/elixir.git cd elixir make test ' echo 'export PATH="$PATH:/home/vagrant/work/otp_src_R16B01/elixir/bin"' >> /home/vagrant/.bash_profile source /home/vagrant/.bash_profile sudo chown vagrant:vagrant /home/vagrant/.bash_profile SCRIPT VAGRANTFILE_API_VERSION = "2" Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.box = "ubuntu-12.04-x64" # box url = http://files.vagrantup.com/precise64.box config.vm.provision "shell", inline: $script end
テスト
上記のVagrantfileで仮想環境を構築
vagrant up
vagrant ssh
elixirがインストールされ、パスが通っていることを確認
vagrant@precise64:~$ elixir -v Elixir 0.10.4-dev
Hello World用のexファイルを作成する
module_name.ex
defmodule ModuleName do def hello do IO.puts "Hello World" end end
対話環境のiexを起動してコンパイルと実行を行う
vagrant@precise64:~$ iex iex(1)> c("module_name.ex") [ModuleName] iex(2)> ModuleName.hello Hello World :ok
※Ctrl+Cで終了
関連
Vagrantのインストールについては下記参照
Windows7環境へのインストール
http://d.hatena.ne.jp/tbpg/20131017/1382016334
Dave TomasのElixirに関するセッション
2013/10/26 Rakuten TechConf2013 /Dave Tomas/Elixir: The joy of Ruby, the Power of Erlang
https://www.youtube.com/watch?v=1a4-1skImgA#t=11