对支持的操作系统而言请按照下列说明进行环境配置。在不支持的操作系统上也可以安装全面的依赖和库。
- 安装Python3和Docker:
MacOS 使用Homebrew:
brew install python3 docker docker-compose
brew cask install docker
open -a Docker
Docker app出现在菜单后,请等待黄灯变绿灯(无需登录Docker)。
Ubuntu 20.04 使用apt:
sudo apt update
sudo apt install -y curl python3 python3-pip
然后按照官方说明设置Docker,并再按照官方说明设置Docker Compose。
- 安装node, yarn, truffle
touch ~/.bashrc
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.35.3/install.sh | bash
. ~/.bashrc
nvm install 10.16.3
curl -o- -L https://yarnpkg.com/install.sh | bash
. ~/.bashrc
yarn global add truffle
全面依赖列表 如果你使用的不是受支持系统,下面是一些重要的依赖。
需要
node -v
version 8, 10 or 12
需要
python3 --version
3.6 or greater
请按下列方法下载Arbitrum的Monorepo:
git clone -b master https://github.com/offchainlabs/arbitrum.git
cd arbitrum
git submodule update --init --recursive
yarn
yarn build
对于大多数用户我们推荐使用简单的docker方式安装。不过如果你希望原生地安装Arbitrum,请遵循以下说明:
MacOS
brew install autoconf automake boost cmake gmp go libtool rocksdb openssl
Ubuntu 20.04
sudo add-apt-repository -y ppa:longsleep/golang-backports
sudo apt update
sudo apt install -y autoconf automake cmake libboost-dev libboost-filesystem-dev libgmp-dev libssl-dev libgflags-dev libsnappy-dev zlib1g-dev libbz2-dev liblz4-dev libzstd-dev libtool golang-go clang-format
git clone -b v6.20.3 https://github.com/facebook/rocksdb
cd rocksdb
make -j 16 shared_lib
sudo make install-shared
cd ..
Fedora 35
sudo dnf install automake cmake boost-devel bzip2-devel clang-tools-extra gflags-devel gmp-devel golang-bin jemalloc-devel libatomic libtool libusb libzstd-devel lz4-devel openssl-devel snappy-devel zlib-devel
git clone -b v6.20.3 https://github.com/facebook/rocksdb
cd rocksdb
DISABLE_WARNING_AS_ERROR=1 make -j 16 shared_lib
sudo make install-shared
cd ..
过时的 gcc
类似以下的错误意味着您的 gcc 编译器无法识别您的处理器。
cc1plus: error: bad value (‘tigerlake’) for ‘-mtune=’ switch
cc1plus: note: valid arguments to ‘-mtune=’ switch are: nocona core2 nehalem corei7 westmere sandybridge corei7-avx ivybridge core-avx-i haswell core-avx2 broadwell skylake skylake-avx512 cannonlake icelake-client icelake-server cascadelake bonnell atom silvermont slm goldmont goldmont-plus tremont knl knm intel x86-64 eden-x2 nano nano-1000 nano-2000 nano-3000 nano-x2 eden-x4 nano-x4 k8 k8-sse3 opteron opteron-sse3 athlon64 athlon64-sse3 athlon-fx amdfam10 barcelona bdver1 bdver2 bdver3 bdver4 znver1 znver2 btver1 btver2 generic native
请确保你使用的是最新版本的 gcc 和 g++。
共享对象错误
使用 Linux 发行版时,如果你遇到类似的错误
error while loading shared libraries: librocksdb.so.6.20: cannot open shared object file: No such file or directory
exit status 127
运行开发节点或其他应用程序时,可能是因为共享库没有正确链接。您可以运行以下命令来更新共享对象链接
sudo /sbin/ldconfig -v
安装完上述依赖后,你可以在本地安装Arbitrum了:
cd arbitrum
yarn install:validator