Windows上“Vagrant配合VirtualBox搭建Fabric本地开发环境”中遇到的坑

in #hyperledger6 years ago

为了在自己本地windows机器上搭建一个hyperledger fabric环境以便于开发测试,以github上官方fabric项目下的devenv为例用Vagrant配合VirtualBox来搭建,在此过程中遇到了很多的坑,记得很清楚是从4月17日(周二)开始到4月21日(周六)晚才搞好。为了对自己花了近一周时间搭建并逐步解决各种“坑”的纪念,决定写篇博文记录一下,也希望可以帮助到刚刚入门的新手同学


1. 最大的“坑”

我是周二开始搭建的,结果在周二晚上出现了第一个问题,就是ubuntu虚拟机执行sudo apt-get update的时候死活不成功,要么提示是否需要认证NOSPLIT,要么提示NODATA,总之各种错,就这个问题一直从周二耗到了周五下班,其间用过代理,win8系统升级到win10...几乎崩溃,无奈之下只得把笔记本背回家继续,结果周五晚上回家之后同样的命令一试刷刷刷开始执行ing,Duang~~~第一个问题就这么解决了

2. 正常网络情况下会出现apt update超时情况

解决方法

# 备份sources.list
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak 

# 编辑sources.list
vi /etc/apt/sources.list 

ggdG # 全部删除当前内容

# 粘贴以下阿里源
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse

3. 默认安装docker时候,国外的仓库下载不了

解决方法

# 删除默认的docker.list否则可能会出现docker源连接超时情况
sudo rm -rf /etc/apt/sources.list.d/docker.list

这里顺便给出docker的安装步骤

  • (1) Prep apt-get for docker install
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
  • (2) InstallGPG certificates
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
  • (3) Add docker repository
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
  • (4) update and install docker-ce
sudo apt-get update -y
sudo apt-get install -y docker-ce

4. 在执行vagrant provision的过程中可能会出现如下报错信息

4.1 连接超时

Fail connect to github-production-release-asset-2e65be.s3.amazonaws.com:443

解决方法
ping github-production-release-asset-2e65be.s3.amazonaws.com 查看ping返回的ip:52.216.85.27

在linux的/etc/hosts上添加上以下一句
52.216.85.27 github-production-release-asset-2e65be.s3.amazonaws.com

4.2 下载错误

default: curl: (56) GnuTLS recv error (-54): Error in the pull function.

解决方法
这是由于git默认缓存大小不足导致的,使用下面的命令增加缓存大小
sudo git config --global http.postBuffer 2000000000

5. 执行setup.sh下载gradle后执行“ln -s /opt/gradle-2.12/bin/gradle /usr/bin”出错

failed to create symbolic link '/usr/bin/gradle'

解决方法

sudo rm -rf /usr/bin/gradle

6.在window本地编辑器修改setup.sh后运行vagrant up出错

/tmp/vagrant-shell: ./setup.sh: /bin/bash^M: bad interpreter: No such file or directory

解决方法

dos2unix ./setup.sh

Coin Marketplace

STEEM 0.27
TRX 0.11
JST 0.030
BTC 68621.95
ETH 3745.88
USDT 1.00
SBD 3.43