最近Goを触り始めました。比較的古いUbuntuにapt-getでgoを入れようとすると、apt-get updateしても
バージョンが古くて面倒なことになったので、最新バージョンを入れるやり方を備忘録として記しておきます。
以下のことは公式に基本書いてあります。
公式から最新版をダウンロード
安定の公式。
Downloads - The Go Programming Language にアクセスします。
Stable versionsを見ます。
現時点(2017/11/16)で最新の安定バージョンは1.9.2でした。
OS: Linux, Arch x86-64の項目(go1.9.2.linux-amd64.tar.gz)が該当するソースです。これを落とす必要があります。
リンク先は以下のようになっていました。
https://redirector.gvt1.com/edgedl/go/go1.9.2.linux-amd64.tar.gz
Ubuntu上で以下のコマンドを打ちます。(場所はどこでもOK)
# ファイル名はバージョンに合わせて適宜変える
wget https://redirector.gvt1.com/edgedl/go/go1.9.2.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.9.2.linux-amd64.tar.gz
/usr/localに解凍し、以下のようにPATHを設定するだけでインストールできます。
PATHの追加
コマンドライン上で「go」を打てばgoが実行されるようにできます。
以下のコマンドを打って.bashrcにPATHを追加します。
あるいは、自分で.bashrcをvimで開いて手動で書いてもOKです。
export PATH=$PATH:/usr/local/go/bin
各種確認
以下のコマンドでバージョンを確認できます。
go version #=> go version go1.9.2 linux/amd64
PATH、GOPATH(go getするときの基準フォルダ)が設定されているかなどを確認できます。仮想環境に入れたので出力例ではvagrantなんて出てきています。
go env
#=>
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/vagrant/go"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build385802317=/tmp/go-build -gno-record-gcc-switches"
CXX="g++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
複数のgoプロジェクトを動かすときは……
予めシェルに以下のように書いておけば、その都度GOPATHを変更し、go getできます。
export GOPATH=$(pwd)
go get