小学期老师给的项目,要求自己配置看懂并且改写添加功能,配置了很长时间环境,把一些想到的点写下来供大家参考。
项目代码在GitHub上,https://github.com/IBM/build-blockchain-insurance-app,现有系统。
有readme中文版,但是写的比较粗略,没有过程。
一、虚拟机与Ubuntu环境(VMware Workstation + Ubuntu 16)
刚开始安装时用了ubuntu 14 ,没有配好,所以升级到16了,但是应该不是ubuntu 的问题。
二、Docker
现有的链接都是直接指向官网的,但是观望中基本上全英文加上都是通用配置,建议自己搜一个安装方法,也可以根据自己的系统情况避免踩坑。菜鸟教程上有ubuntu安装docker。教程下面评论的用法挺好。
菜鸟教程原始链接:https://www.runoob.com/docker/ubuntu-docker-install.html
网上也有很多其他教程,基本上都是可以的。
但是docker需要自己去官网注册一个账号,以后要用。
三、nodejs 和 npm
因为项目中说明了必须要6.x版本所以就十分的烦人。
这篇文章https://blog.csdn.net/wangtaoking1/article/details/78005038
但是我们需要6.版本的,可以通过安装n模块来进行版本安装,教程https://www.jianshu.com/p/3033c300ce4b
这中间可能你安装了对应版本,并且使用n模块选择版本之后 node -v出来的仍然是原来版本,这个时候重启大法好。
四、./build_ubuntu.sh
安装好了之后进行构建可能会遇到各种各样的问题,我和同学都是卡在step 9/11,
报错是这样式的,本来以为错误出在npm warn the package is include as both a dev and production dependency.上,然而经过很多尝试后并不是,警告实际上不影响程序运行,这个警告应该只是nodejs 与npm 版本上有一点点问题,不太匹配,我猜的。
真正的问题在于,npm err request to https....... registry.npmjs.org:443,也就是请求没有相应的问题,解决这个问题的过程中看了项目git上大佬们的讨论,特别是原项目上68层的讨论,各种解决办法都试了没有用,实际上68 是解决下面这个报错的pull access denied for ... repository does not exits or may require 'docker login'。但是我们的问题是上面的网络问题才引起的下面的拉取错误,所以对我们没什么用。
翻了很长时间大神们的讨论,终于在关闭的问题中找到了一个教程,https://development.robinwinslow.uk/2016/06/03/fix-docker-networking-dns/,详细是在29层,这个配置完成之后就全部跑通了。
有其他再补。