Hyperledger Fabric学习笔记——macOS下环境配置(Fabric:v2.0.0-beta)

初学者一枚,如有错误,恳请指正!

目录

一、先决条件(Prerequisites)

1、安装homebrew

2、安装Git

3、安装cURL

4、Docker下载安装

5、GO语言环境安装

6、安装Node.js和NPM

二、克隆示例、拉取二进制文件和Docker镜像

1、下载脚本文件并克隆fabric-samples

2、下载、解压二进制文件tar包并修改bootstrap.sh文件

3、运行docker并配置

4、执行bootstrap.sh

5、完成


一、先决条件(Prerequisites)

1、安装homebrew

在控制台中输入:

#下载安装homebrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
#查看homebrew版本
brew --version

homebrew默认的镜像源下载会比较慢,这里切换到阿里源:

#替换brew.git
cd "$(brew --repo)"
git remote set-url origin https://mirrors.aliyun.com/homebrew/brew.git
#替换home-brew-core.git
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://mirrors.aliyun.com/homebrew/homebrew-core.git
#应用生效
brew update
#替换home-brew-bottles
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.aliyun.com/homebrew/homebrew-bottles' >> ~/.zshrc
source ~/.zshrc

这里注意一下,从macOS Catalina Beta版本开始,zsh(Z shell)是所有新建账户的默认Shell(详见Apple技术支持)。在环境配置方面,.zprofile相当于原来的.bash_profile(在用户登陆时生效),.zshrc相当于.bashrc(在打开shell时生效),因此我们这里修改的是.zshrc文件。

下面是还原回原镜像源的办法:

#重置brew.git
cd "$(brew --repo)"
git remote set-url origin https://github.com/Homebrew/brew.git
#重置home-brew-core.git
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://github.com/Homebrew/homebrew-core.git
#删除.zshrc中HOMEBREW_BOTTLE_DOMAIN内容

2、安装Git

安装最新版本git(https://git-scm.com/downloads)。如果已经安装,则通过git clone https://github.com/git/git命令更新到最新版本。

3、安装cURL

macOS已经安装好cURL,但是系统安装的cURL并不方便更新,因此我们使用homebrew重新安装一个cURL。但是homebrew安装的cURL是keg-only的,因此安装好之后我们还需要把路径添加到.zshrc中使得系统优先使用我们安装的cURL(命令可以在brew info curl中找到),具体操作如下:

#安装cURL
brew install curl
#配置路径
echo 'export PATH="/usr/local/opt/curl/bin:$PATH"' >> ~/.zshrc
#使配置生效
source ~/.zshrc
#验证使用的是否为我们安装的cURL
which curl

4、Docker下载安装

docker下载地址

安装打开即可,在上方任务栏会出现一个鲸鱼图标。

5、GO语言环境安装

首先建立一个go工作空间(macOS下官网似乎建议创建在Users及其子目录下,其中般包括三个目录:src存放go源文件,pkg存放编译好的库文件,bin存放可执行文件,src是自己创建的目录)。GOPATH指向创建的go工作空间,GOBIN指向$GOPATH/bin,具体过程如下:

#安装go
brew install go
#查看版本
go version
#创建go工作目录并打开.zprofile
cd /Users/xia
mkdir go
vi ~/.zprofile
#在.zprofile中配置环境变量(路径因人而异,以本人路径为例)
export GOPATH=/Users/xia/go
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOBIN
#使.zprofile生效
source ~/.zprofile

6、安装Node.js和NPM

如果要利用适用于Node.js的Hyperledger Fabric SDK开发Hyperledger Fabric应用程序,则需要安装Node.js和NPM。

下载地址

安装好Node.js的同时会安装好NPM。

二、克隆示例、拉取二进制文件和Docker镜像

克隆示例、拉取二进制文件和Docker镜像hyperledger fabric官方其实提供了一个脚本文件bootstrap.sh来帮助我们完成所有步骤,但是由于国内网络限制,直接执行脚本文件基本上无法成功,会在拉取二进制文件和Docker镜像的时候出现二进制文件tar包下载失败以及Docker镜像下载timeout等问题,所以我们需要在bootstrap.sh脚本的基础上,自行搭建,更多关于bootstrap.sh的内容,详见另一篇博客。

1、下载脚本文件并克隆fabric-samples

#下载脚本文件
curl -sS https://raw.githubusercontent.com/hyperledger/fabric/master/scripts/bootstrap.sh -o /Users/xia/go
#转换为可执行文件
sudo chmod +x bootstrap.sh
#在go目录下克隆fabric-samples(官方文档中提到macOS需要在/Users目录下)
git clone -b master https://github.com/hyperledger/fabric-samples.git

2、下载、解压二进制文件tar包并修改bootstrap.sh文件

可以先尝试一下直接sh bootstrap.sh是否能够直接下载,我在挂了的情况下依然多次下载失败,于是采取手动下载并解压tar包的方式。一共是两个tar包,根据版本选择合适的下载,我最后是通过淘宝的代下服务完成的下载(fabric二进制包、fabric-ca二进制包)。将下载好的两个tar包放入fabric-samples文件夹中解压,可以看到多了bin和config两个文件夹。

#解压tar包
tar xvzf hyperledger-fabric-ca-darwin-amd64-1.4.4.tar.gz
tar xvzf hyperledger-fabric-darwin-amd64-2.0.0.tar.gz 

我们已经手动完成了二进制文件的下载和解压,因此我们需要修改一下bootstrap.sh,将pullBinaries()函数中,两次调用download()函数注释掉

3、运行docker并配置

在拉取docker镜像的时候我遇到了诸如:Client.Timeout exceeded while awaiting headers、net/http: TLS handshake timeout等问题,尝试更换国内镜像源和更改hosts都没有显著效果,最后尝试使用阿里云镜像加速器后解决。进入阿里云注册账号(免费),完成后在个人界面搜索镜像加速器,根据给的每个人不同的链接配置docker,如下图:

Hyperledger Fabric学习笔记——macOS下环境配置(Fabric:v2.0.0-beta)_第1张图片

配置完成点击Apply&Restart,等待docker重启完成。

4、执行bootstrap.sh

执行bootstrap.sh文件,完成配置。

#执行bootstrap.sh文件
sh bootstrap.sh

5、完成

 

你可能感兴趣的:(Hyperledger,Fabric)