CentOS7下从零开始安装ethereum/以太坊
前言
本人也是第一次接触linux,在安装的过程中遇到了很多问题,查找发现没有很全面的一个安装以太坊的教程,这里总结一下我的方法,有问题的话希望各位大佬指出。
添加 sudo写权限
先进入root
su chmod u+w /etc/sudoers vi /etc/sudoers
找到root ALL=(ALL) ALL,在他下面添加klose ALL=(ALL) ALL并保存(添加按一下a键,添加完保存按esc退出插入模式后输入:wq)
chmod u-w /etc/sudoers exit
brew的安装需要新版本的git,curl,CentOS 7自带版本过低,需要更新。
安装git 2.9.0
下载并安装git 2.9.0
wget --no-check-certificate https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.9.0.tar.gz tar -zxvf git-2.9.0.tar.gz cd git-2.9.0 sudo yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker kernel-headers glibc-headers gcc-c++ ./configure --prefix=/usr/local/git make sudo make install
环境配置
vim /etc/profile
在最后添加(这里一并添加了之后的环境变量)
export PATH=/usr/local/git/bin:$PATH export PATH=/usr/local/git/libexec/git-core:$PATH export PATH=/usr/local/openssl:$PATH export PATH=/usr/local/curl:$PATH
立即生效
source /etc/profile
接下来为了不每次打开shell都重新配置环境变量
vim ~/.bashrc
加一句
source /etc/profile
vim ~/.bash_profile
加一句
source ~/.bash_profile
查看git路径和版本,确定git成功安装,移除Centos7自带的旧版本git,连接新版本git
which -a git git --version sudo mv /usr/bin/git /usr/bin/git.bak sudo ln -s /usr/local/git/bin/git /usr/bin/git
安装openssl 1.1.1l
wget --no-check-certificate https://www.openssl.org/source/openssl-1.1.1l.tar.gz tar -xzvf openssl-1.1.1l.tar.gz cd openssl-1.1.1l ./config --prefix=/usr/local/openssl --openssldir=/usr/local/ssl shared zlib make sudo make install
移除旧版本openssl,创建软连接
sudo mv /usr/bin/openssl /usr/bin/openssl.bak sudo mv /usr/include/openssl /usr/include/openssl.bak sudo ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl sudo ln -s /usr/local/openssl/include/openssl /usr/include/openssl
更新配置
sudo ldconfig sudo ldconfig -v
查看openssl版本,为1.1.1.l即安装成功
openssl version
安装curl 7.54.0
wget --no-check-certificate https://curl.haxx.se/download/curl-7.54.0.tar.gz tar -zxf curl-7.54.0.tar.gz cd curl-7.54.0 ./configure --prefix=/usr/local/curl --with-ssl=/usr/local/openssl --libdir=/usr/lib64 make sudo make install
替换系统curl,创建软连接
sudo mv /usr/bin/curl /usr/bin/curl.bak sudo ln -s /usr/local/curl/bin/curl /usr/bin/curl
suvi /etc/ld.so.conf
添加/usr/local/curl/lib
exit
检查curl版本
sudo ldconfigcurl -V
安装brew
用gitee大佬的国内镜像安装命令,安装后会自动安装ruby
rm Homebrew.sh ; wget https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh ; bash Homebrew.sh
安装node&npm
cd /usr/local sudo wget --no-check-certificate https://npm.taobao.org/mirrors/node/v10.14.1/node-v10.14.1-linux-x64.tar.gz tar -xvf node-v10.14.1-linux-x64.tar.gz sudo mv node-v10.14.1-linux-x64 node sudo rm node-v10.14.1-linux-x64.tar.gz
环境配置
suvi /etc/profile
添加
export NODE_HOME=/usr/local/node export PATH=$NODE_HOME/bin:$PATH
退出
source /etc/profile
创建软连接
sudo ln -s /usr/local/node/bin/npm /usr/bin/npm sudo ln -s /usr/local/node/bin/node /usr/bin/node sudo ln -s /usr/local/node/bin/node-waf /usr/bin/node-waf sudo ln -s /usr/local/node/lib/node /usr/lib/node
检查版本
node -vnpm -v
安装ethereum/以太坊
brew tap ethereum/ethereum brew install ethereum
可能会报错
Error: Your HOMEBREW_BOTTLE_DOMAIN still contains “linuxbrew”.You must unset it (or adjust it to not contain linuxbrew.e.g. by using homebrew instead).
解决方法,注意不能提前执行,可能导致brew安装失败
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles' >> ~/.bash_profile source ~/.bash_profile
安装remix
sudo npm install remix-ide -g remix-ide
remixd报错
vim /usr/local/node/lib/node_modules/remix-ide/bin/remix-ide
注释remixd相关代码(该文件为js格式,用//和/* …*/注释,#虽然会变色但是不行)
进入
http://localhost:8080/index
即可编写智能合约
P.S. yum问题
安装curl之后yum可能会报错,这是由于libcurl的问题导致的,笔者也没有一个很好的解决方法,并不是每次都能成功。