环境:ubuntu18.04 go 1.16
编程语言:go
在ubuntu上对IPFS源码编译步骤很简单,其最多的问题就是环境问题,无法访问github.com 拿不到相应包数据.,此博客为解决环境问题。
源码网址:GitHub - ipfs/go-ipfs: IPFS implementation in Go
具体安装过程可以根据github的安装介绍进行安装:
源码编译之前需要对go进行安装,注意的go version 必须是go1.15.2版本以上才可以,这里我用的go1.16 version.
安装步骤就以上几步简单的命令行输入即可。
安装过程中会存在无法访问github.com或者其他网址的问题?
因为go-ipfs的源码需要导入很多其他包文件:
相当于这些包的文件在安装过程中就会下载到本地pkg中存放,在自己配置go环境下所设置的路径 文件夹下。
解决办法如下:
配置go代理环境:
GO111MODULE="on"
GOPROXY="https://goproxy.cn,direct"
可以通过go env命令查看相关的env配置。修改命令如下:
export go env GO111MODULE="on"
export go env GOPROXY="https://goproxy.cn,direct"
在这种情况下的编译可能还是会出现部分无法访问github.com的情况,则
先进行ping一下,看是否能ping通?
如上就ping不通的。
修改/etc/hosts 文件,添加如下语句到末尾即可:
至于这个网址可以通过访问如下网址得到(这个地址是会变化的 好像):
https://github.com.ipaddress.com/#ipinfo
此网址好像需要翻墙才能访问,但好像google浏览器可以访问,得到:
再调用命令重新启动网络:
sudo /etc/init.d/networking restart
这样就不会出现无法访问的问题了。
可以尝试是否能ping通?
最后再使用命令ipfs version查看一下:
然后进行相关的ipfs init /daemonm命令即可。
最后吐槽一下,初探go语言,学习这个go-ipfs的源码 真难看懂特别是这些命令的方式执行,哈哈哈哈。