1. 先准备必要环境
1.1 git --如果存在即忽略
yum install git
一路Y下去就能安装成功,但是yum因为centos停止维护可能会导致错误,所以需要更新yum。方法如下:
1. 将/etc/yum.repos.d目录改名备份,并重新创建新的/etc/yum.repos.d目录
mv /etc/yum.repos.d /etc/yum.repos.d.backup
mkdir /etc/yum.repos.d
2、执行如下命令下载阿里云公共的yum镜像文件(wget及crul方式选择其中一种即可)
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
若服务器提示没安装wget命令,可执行如下命令下载yum源
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
3、执行如下命令重新创建缓存
yum clean all && yum makecache
若执行没有报错则表示正常
然后再去安装git即可
1.2. go环境 --如果存在即忽略
1. 使用wget
或者curl
工具下载 Go 的二进制安装包:
wget https://go.dev/dl/go1.18.3.linux-amd64.tar.gz
2. 一旦压缩包下载完成,通过输入下面命令,验证压缩包的校验码:
sha256sum go1.18.3.linux-amd64.tar.gz
请确保使用sha256sum
命令输出的哈希值和下载页面的哈希值是一样的。
3. 使用tar
命令将压缩包解压缩到/usr/local
目录:
sudo tar -C /usr/local -xf go1.18.3.linux-amd64.tar.gz
上面的命令必须以 root 或者具有 sudo 权限的用户身份来执行。
4. 配置系统环境变量
vi /etc/profile
再最后添加一下内容:
export GO_HOME=/usr/local/go
export PATH=$PATH:$GO_HOME/bin
export GOPROXY=https://goproxy.io
export GO111MODULE=on
如果你的系统无法科学上网,可能会遇到如下错误
dial tcp 172.217.163.49:443: i/o timeout
而这两行配置是给go添加代理比启动此模式,就可以解决上述错误
export GOPROXY=https://goproxy.io
export GO111MODULE=on
或者执行下面两个语句中的任何一个
go env -w GOPROXY=https://goproxy.io
go env -w GOPROXY=https://goproxy.cn
5. 使系统环境变量生效
source ~/.bash_profile
就这些。此时,Go 已经被安装在你的 CentOS 系统上。
2. 开始正式安装geth
1. 克隆geth
git clone https://github.com/ethereum/go-ethereum.git
如果遇到错误: 过早的结束符EOF 则先执行下述语句再进行克隆
git config --global http.postBuffer 524288000
2. 进入仓库
cd go-ethereum
3. 编译
make geth
然后可能又会遇到下面的错误
updates to go.mod needed; to update it:
go mod tidy
那应该是go的版本不兼容或者有多个版本,可以尝试删除后重新安装,删除时需要删除干净哦
sudo rm -fR go
sudo rm -rf /usr/local/go
wget https://go.dev/dl/go1.18.3.linux-amd64.tar.gz
sudo tar -C /usr/local -xf go1.18.3.linux-amd64.tar.gz
然后重新尝试编译
4. 将 geth
添加到环境变量
vi ~/.bashrc
输入
export GETH=/自己的目录/go-ethereum/build
export PATH=$PATH:$GETH/bin
5. 使系统环境变量生效
source ~/.bashrc
6. 验证是否安装成功
geth -help
如果输出一些帮助提示命令,则说明安装成功。