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
【手順】
- Goのインストール
- 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を通す】
$ sudo tar -C /usr/local -xzf go1.10.3.linux-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