GoとRevelをサーバーに入れる

手元で動かしていたRevelのアプリをサーバーに入れて動かしたくなりました。僕はさくらのVPSを使っていますが、まだRevel入れてないですし、そもそもGoも入れていません。
今回はGoを入れてRevelを入れます。

1. Goを入れる

まずGoを入れましょう。その前にまずVPSにログインします

[shell]

ssh yourserver.com

[/shell]

やることは
1. wget でDownloadする
2. 展開してインストール
3. 環境変数の設定
です。

http://golang.org/doc/install
全部ここに書いてあります。細かく説明していきます。まずはファイルをDLしなきゃいけません。ファイルってのは
https://code.google.com/p/go/downloads/list
にあるファイルのことです。サーバーですから恐らくLInuxでしょう、そしてだいたい64bitなので
LInux64bitを選びます。いまはGo言語のバージョンが1.2.1なので
https://go.googlecode.com/files/go1.2.1.linux-amd64.tar.gz
これが欲しいファイルです。これをサーバーに落とします。
自分のhomeフォルダ(ユーザー名がyukiなら/home/yukiかな)に移動してwgetしましょう

[shell]
cd /home/yuki
wget https://go.googlecode.com/files/go1.2.1.linux-amd64.tar.gz
[/shell]

これでファイルが手に入ります。あとは実行しちゃうだけ

[shell]
tar -C /usr/local -xzf go1.2.1.linux-amd64.tar.gz
[/shell]

これでGoが入ります。もし入らなかったら sudo を頭につけてroot権限でやっちゃいましょう。
ちなみに/usr/local/goに入ります。次に環境変数の設定です。bash_profioleを編集します。今あなたがユーザーフォルダに居るなら

[shell]
vi .bash_profile
[/shell]

で編集画面が開けます。vi なので iを押して編集画面に以下のPAHTを追加します

[shell]
export PATH=$PATH:/usr/local/go/bin
export GOPATH=~/gocode
export PATH="$PATH:$GOPATH/bin"
[/shell]

一番上はGoそのものの場所を教えています。これでどこにいてもgoを打てばgoが実行できます。
2番めと3番目はGOPATHというものを設定しています。revelを使うにはこれが必要です。
さて、これを入れたらエスケープを押して:wqで書き込み終了。反映させるために

[shell]
source .bash_profile
[/shell]

これで環境変数が設定されました。
Goが使えるか試してみましょう

[shell]
go version
[/shell]

これで確認できます。Goのバージョンが出てくるはず。
ちなみに、もし「GOPATHがおかしい」みたいなエラーが出たらそれはgocodeというディレクトリがユーザーディレクトリにないからです。mkdir gocodeを実行すればOKです。

2.Revelを入れる

Revelを入れるにはGitとMercurialを入れる必要があります。
Gitは多分皆入ってるでしょうが、Mercurialはないかも。一番簡単に入れるなら

[shell]
yum install python-devel python-setuptools
easy_install pip
pip install Mercurial
[/shell]

この3つを実行すればいけます。
easy_installはアプリ管理アプリです。そしてそれを使ってpipというアプリ管理アプリを入れています。最終的にはそのpipでMercurialを入れます。
ここまでいけばGoがはいってGitとMercurialが入っているのでRevelが入ります。

[shell]
go get <span style="text-decoration: underline;">github.com/robfig/revel</span>
[/shell]

これでrevelが入るはず。

[shell]
revel
[/shell]

と書いて呼んでみましょう。いつものrevelの画面が出ると思います。

トラブルシューティング

1. Goは入るがrevelが入らない
go get github.com/robfig/revel

package bufio: unrecognized import path “bufio”
みたいなエラーが出て入らないことがあると思います。
原因はGOROOTの間違いです。
今回は指定しませんでしたが、goはインストール先を選べます。
選んだ場合はGOROOTという環境変数を設定するのですが、これが間違っているとこのようなエラーが出ます。
もし、特別指定しないでGoをインストールしたならGOROOTを設定する必要はないのでその環境設定を消しましょう。bash_profileに書いちゃったなら消してlogoutして再度loginしましょう。それで動くと思います。

コメントを残す