Geth(go-ethereum)をソースコードからビルドする手順(debian)

Geth(go-ethereum)をインストールしようとしたとき、ubuntuではppaを使えばコマンド一つでできますが、debianではパッケージインストールできません。
よって私がソースコードからビルドした手順をここに残します。

【環境】

$ uname -a
Linux debian 3.16.0-4-amd64 #1 SMP Debian 3.16.43-2+deb8u3 (2017-08-15) x86_64 GNU/Linux

【手順】

  1. Goのインストール
  2. go-ethereumのインストール

1. Goのインストール

まずはgethの言語であるGoをインストールします。
すでにGoがインストールされている場合は飛ばしてください。
Goのバージョンは1.7以上が推奨されています。

# インストールされている場合
$ go version
go version go1.10.2 linux/amd64

【step 1 インストーラをダウンロードする】

Downloads – The Go Programming Language
2018-07-02時点ではgo1.10.3.linux-amd64.tar.gzです。

【step 2 tarballを展開しpathを通す】

$ tar -C /usr/local -xzf go1.10.3linux-amd64.tar.gz
$ echo "export PATH=$PATH:/usr/local/go/bin" | sudo tee -a /etc/profile

2. go-ethereumのインストール

【step 1 ソースコードをgit cloneでダウンロードする】

$ git clone https://github.com/ethereum/go-ethereum

【step 2 go-ethereumをインストールする】

ここでインストールガイドどおりにしたにも関わらずエラーが発生しました。

$ cd go-ethereum
$ make geth
build/env.sh go run build/ci.go install ./cmd/geth
>>> /usr/local/go/bin/go install -ldflags -X main.gitCommit=1f0f6f0272c4c2f4b7b459835eff254f1f86784a -v ./cmd/geth
go install github.com/ethereum/go-ethereum/cmd/geth: open /home/tomoya/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/build/bin/geth: permission denied
util.go:45: exit status 1
exit status 1
Makefile:15: recipe for target 'geth' failed
make: *** [geth] Error 1

要はpermission deniedなので最終的にはrootからインストールすることで解決できました。

$ su
# export PATH=$PATH:/usr/local/go/bin
# cd /home/your_name/go-ethereum
# make geth

rootにgoのPATHを通すのを忘れないでください。

これでgethがインストールできました。

$ geth --help

参考サイト

コメントを残す