目的
- Windows 8.1 + Cmd.exe で iex を叩けて Elixir に触れられる環境を整える
- ついでにPhoenixも入れておく
- Windows利用者にも布教しやすいやり方を覚える
流れ
- Chocolateyを入れる
- cinst nodejs, cinst npm, cinst elixir, cinst erlang
- mix で phoenix 入れる
- 環境変数パスを通す
こまかーい流れ
1. Chocolateryを入れる
コマンドプロンプト(管理者)を開いて下記を投げ込む
C:\> @powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin
環境変数が追加されるので、一旦再起動する。
C:\> choco help
でいろいろ出てくるようになれば、次のステップへ。
2.cinst nodejs, cinst npm, cinst elixir, cinst erlang
そのまま。順に投げる
c:\> cinst nodejs
<中略>
c:\> cinst npm
<中略>
c:\> cinst elixir
<中略>
c:\> cinst erlang
<中略>
エラーっぽいのがでてなければおっけー。
※事前にnodejs, npmが導入済みの場合は、choco update nodejs, choco update npm で、最新バージョンにしておきましょう。下記のようなエラーにハマる場合があります。
最後のmix phoenix.server で次のエラーが出てしまいます。
Net.js:157
this._handle.open(options.fd);
^
rror: EINVAL, invalid argument
at new Socket (net.js:157:18)
at process.stdin (node.js:687:19)
at bindWatcherEvents (c:\Users\Tsutomu\work\elixir-stuff\hello_phoenix\node_mo
ules\brunch\lib\watch.js:597:12)
at c:\Users\Tsutomu\work\elixir-stuff\hello_phoenix\node_modules\brunch\lib\watch.js:667:9
at c:\Users\Tsutomu\work\elixir-stuff\hello_phoenix\node_modules\brunch\lib\watch.js:557:16
at c:\Users\Tsutomu\work\elixir-stuff\hello_phoenix\node_modules\brunch\lib\watch.js:188:12
at c:\Users\Tsutomu\work\elixir-stuff\hello_phoenix\node_modules\brunch\node_modules\async-each\index.js:24:44
at c:\Users\Tsutomu\work\elixir-stuff\hello_phoenix\node_modules\brunch\lib\watch.js:175:14
at Object.cb [as oncomplete] (fs.js:169:19)
どうしても nodejs のバージョンをあげたくない!という人は、あとで紹介する mix phoenix.new 時に --no-brunch をつけると nodejs への依存がなくなり、エラーもでなくなります。
3. 環境変数パスを通す
システム→システム詳細設定→環境変数→PATHを選んで編集
C:\Program Files\erl6.4\bin;C:\tools\Elixir\bin
を追加する。
なぜelixir がc:\tools にセットアップされたのかは、眠くて覚えていない。。
まぁProgram filesかどっかにはいるので、そのパスを通せばいいと思うよ!
Elixir できあがりの確認
環境変数の反映の為に、コマンドプロンプトをあげなおして
c:\> iex
Interactive Elixir (1.0.4) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)> 1+1
2
iex(2)>
Elixirはここで導入完了です。つぎはPhoenixを入れていきます。
3. mix で phoenix 入れる
Phoenix - Up And Running
ここを見ながら進めればおk。引き続き管理者コマンドプロンプトで進める
c:\> mix local.hex
c:\> mix archive.install https://github.com/phoenixframework/phoenix/releases/download/v0.13.1/phoenix_new-0.13.1.ez
hello_phoenixの為の環境づくり&サーバー起動
c:\> mix phoenix.new %userprofile%\work\elixir-stuff\hello_phoenix
Fetch and install dependencies? [Yn] y
* running npm install
* running mix deps.get
<中略>
c:\> cd %userprofile%\work\elixir-stuff\hello_phoenix
c:\> mix phoenix.server
これで、localhost:4000 にアクセスしてなんかみえれば導入完了。お疲れ様でした。
途中、ファイアウォール開けるか聞かれたりするので、適当にYesとしておいてください。
参考リンク
というかむしろこれが本体に近い・・・
chocolatey - Let's get Chocolatey!
elixir - Installing Elixir
2行でWindowsにElixirをインストールするたった一つの冴えているようなやり方
Phoenix Framework(v0.13) 概要