Fork me on GitHub

役立ちぬ開発史、それはただのブログ

覚えておくといい、ブログの時代は終わる。いつかその内、きっとたぶん…

これからくる!? JSON-API フレームワークのGinをインストールする方法

| Comments

前回にGIN.IOの紹介をしました。触ってみようとインストールしました。インストールするときに、ちょっとした勘違いで無駄に時間がかかりました。しょうもないことですが、とりあえず、そこも含めて、まとめます。

インストール

今回の導入環境はMAC OS X 10.9で、homebrewを使ってます。
homebrewをインストールしてない人は、

1
ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"

このコマンドを叩いて、インストールしといてください。

OpenRestyの導入

Ginには、OpenRestyが必要です。
そのために、まずPerl Compatible Regular Expressions と LuaJIT をインストールします。

1
brew install pcre luajit

次に、OpenRestyをインストールします。

1
2
3
4
5
6
7
8
9
10
$ wget http://openresty.org/download/ngx_openresty-VERSION.tar.gz
$ tar zxvf ngx_openresty-VERSION.tar.gz
$ cd ngx_openresty-VERSION/
$ ./configure \
    --with-cc-opt="-I/usr/local/Cellar/pcre/PCRE-VERSION/include" \
    --with-ld-opt="-L/usr/local/Cellar/pcre/PCRE-VERSION/lib" \
    --with-http_postgres_module \
    --with-luajit
$ make -j2
$ make install

このngx_openresty-VERSIONVERSION1.4.3.6に、PCRE-VERSION8.33に、それぞれの現行バージョンの変更します。今回文章に書いたのは現時点(2013年11月)のバージョンです。
ここで、毎回毎回makeした時にエラーになっていて、何でだ〜と詰まっていました。ngx_openresty-VERSIONのときにVERSIONを数字に変えるだけだったので、PCRE-VERSIONもPCRE-8.33と書いてたのが原因でした。ディレクトリの中にバージョン名のしかなくて、気づきました。しょうもないことに無駄に時間を取られてしまったのですが、ここの大文字と小文字の使い分けの意味がわかりました。

OpenRestyのパスを通します。.bash_profileに、zshの場合は.zprofileに追記しましょう。

1
export PATH=/usr/local/openresty/nginx/sbin:$PATH

最後にちゃんとインストールできているか、チェックしましょう。

1
nginx -v

Lua とLuarocksの導入

Ginには、Luaも必要なので、Lua と LuaのパッケージマネージャーのLuarocksをインストールします。

1
brew install lua luarocks

MySqlの導入

DBは、ドキュメントにMysql と PostgreSqlのインストール方法がありましたが、Mysqlの方が馴染み深かったので、Mysqlをインストールしました。ローカルにMysqlを持ったことないので、今回インストールしました。そしたら、やたらめったら時間かかります。根気強く、粘り強く待ちましょう。

1
brew install mysql

Mysqlがちゃんとインストールされたか、チェックします。

1
mysql --version

ココら辺のコマンドが何やってるのかサッパリだったので、ググってみました。
HomebrewでMySQLをインストールする時に知っておきたいこと」によると、Mysqlを自動で起動するようにスクリプトを設置してます。 ファイルをコピーするときに、MYSQL-VERSION5.6.13の現行バージョン(2013年11月現在)に変えましょう。

1
cp /usr/local/Cellar/mysql/MYSQL-VERSION/homebrew.mxcl.mysql.plist ~/Library/LaunchAgents/

設置したスクリプトを有効にします。

1
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

最後にLuaDBIをインストールします。

1
luarocks install luadbi-mysql

Gin

今までのインストールが全て終わったら、Ginをインストールしましょう。

1
luarocks install --server=http://gin.io/repo gin

インストールが終わったら、ginとコマンドを打つとお酒のGinのAAとコマンドヘルプが表示まれます。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
gin

           /++++/:
           NNNNNmm
           mNNMNmy
          .dNMMNms`
      .:+sydMMMMMdyo/-`
   `sdmmmNNNMMMMMNmdhhddo
   `dMMNNMMMMMMMMMNdhdMMy
   `dMMMNMMMMdsymMNdhdNMy
   `dMMMNNho-....:shhdNMy
   `dMMdo-......`.``:sNMy
   `dd/........-..````-hy
   `:...--.`----..`````.-
   ``//+-  G  I  N  .+-/`
   `:..-..``-...-.`.`.``-
   `hs-```-./.:`-/`.```os
   `hNms-.``.-.-.````+mmy
   `hNNNNh+.-:---`-smNNmy
   `hNNNMMMNy+.:sdNNNNNmy`
   `dNNNNMMMMMNNNNNNNNNNy`
   `hNNNNNMMMMMMMMNNmNNNy`
    ./osyhhddddddhhyss+:`

GIN v0.1, a JSON-API web framework.

Usage: gin COMMAND [ARGS]

The available gin commands are:
 new [name]             Create a new Gin application
 start                  Starts the Gin server
 stop                   Stops the Gin server
 console                Start a Gin console
 generate migration     Create a new migration
 migrate                Run all migrations that have not been run
 migrate rollback       Rollback one migration

おわりに

ドキュメントに沿って、インストールすれば失敗はしないはずでしたが、ちょっとした勘違いで無駄に時間を食ってしまいました。しかし、これでGinをインストールできたので、どんどん遊んでいけます。どんなものなのか、楽しみですね。

参考先:

GIN.IO | install(公式docs)

Comments