一文完全解决——Ubuntu20.04下源码构建安装IPFS环境

文章目录

  • :zero: 前言
  • :one: 安装配置`Go`语言
    • :one:.:one: 下载`Go`
    • :one:.:two: 配置`Go`环境
  • :two: 安装配置IPFS环境
    • :two:.:one: 更新`apt-get` 并安装 `git`
    • :two:.:two: 下载`go-ipfs`源码
    • :two:.:three: 编译`go-ipfs`源码
  • :three: `IPFS`的初始化和连接

0️⃣ 前言

如果是新装的Ubuntu系统,运行sudo命令输入密码,可能会不成功,所以需要先运行:

sudo passwd

重置密码,即可。

1️⃣ 安装配置Go语言

1️⃣.1️⃣ 下载Go

IPFS是基于Go语言的项目,环境要求go version 1.14+。在Go的官方网站下载最新的版本即可https://golang.org/dl/。
可以用以下命令:

wget https://golang.org/dl/go1.14.6.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.14.6.linux-amd64.tar.gz

Tips:

  • 如果wget失败可以到官网https://golang.org/dl/go1.14.6.linux-amd64.tar.gz下载镜像,然后在那个目录下打开终端执行上面的命令的第二句。
  • 如果虚拟机下载失败,可以在主机中下载完成后,用Xftp连接虚拟机,将文件拖过去,至于如何连接,请看这篇文章保姆级教程——Xshell连接虚拟机中的Ubuntu并通过Xftp传输文件,XshellXftp连接过程相同。

1️⃣.2️⃣ 配置Go环境

  • 在进入用户主目录,并新建名为go的文件夹,在go的文件夹中建立三个子目录(名字必须为srcpkgbin)。创建目录过程如下:
cd ~
mkdir go
cd go
sudo mkdir src
sudo mkdir pkg
sudo mkdir bin
sudo chmod 777 src
sudo chmod 777 pkg
sudo chmod 777 bin
ls -l
  • 配置环境变量,首先输入:
vi ~/.profile
  • 打开用户的环境变量,在最后添加如下内容:
export PATH=$PATH:/usr/local/go/bin 
export GOROOT=/usr/local/go 
export GOPATH=$HOME/go 
export PATH=$PATH:$HOME/go/bin

然后按Esc退出,接着输入:wq,然后输入回车就可以保存退出。

  • 激活配置文件,即输入如下命令:
source ~/.profile
  • 最后验证一下是否成功,输入如下命令查看结果:
go version
go env
  • 但是这样关掉终端,配置就会失效,所以在~/.bashrc中也设置一下:
gedit ~/.bashrc

然后在最后面添加:

export PATH=$PATH:/usr/local/go/bin 
export GOROOT=/usr/local/go 
export GOPATH=$HOME/go 
export PATH=$PATH:$HOME/go/bin

最后再:

source ~/.bashrc

2️⃣ 安装配置IPFS环境

2️⃣.1️⃣ 更新apt-get 并安装 git

  • terminal执行以下语句:
sudo apt-get update
sudo apt-get install git

2️⃣.2️⃣ 下载go-ipfs源码

因为go get国内基本上下载不了,加上镜像的话例如:

go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
go get -u github.com/ipfs/go-ipfs

虽然可以很快地下载,但却下载到了/go/pkg/mod/的目录下,感觉很难受,所以不推荐这种下载方法。

  • 可以采取直接git clone的方法,但是如果直接clone的是github上的源码还是很慢,所以我采取的方法是,先将源码fork到自己的仓库,然后再导入到码云,然后再从码云上clone下来,速度简直快的飞起,可以直接用我的码云上的源码库,版本为ipfs 0.6.0,操作如下:
cd ~
cd go/src
mkdir github.com
cd github.com
mkdir ipfs
cd ipfs
git clone https://gitee.com/ExcaliburAias/go-ipfs.git

当然,也不用非得clonego/src/github.com/ipfs/go-ipfs下面,直接clone到桌面也可以。

2️⃣.3️⃣ 编译go-ipfs源码

· 首先安装make工具,然后安装gcc,最后授予文件权限以及更改go get的源,操作如下:

cd ~
cd go/src/github.com/ipfs/go-ipfs
sudo apt update
sudo apt install make
sudo apt install build-essential
sudo chmod 777 /usr/local/go/bin
sudo chmod 777 /plugin/loader/preload.go
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
make install

· 测试:

ipfs version

在这里插入图片描述

最后建议设置回去,也就是:

go env -w GO111MODULE=off
  • 最后,除此之外,也可以不用install,直接build,即生成的ipfs.exe不加入系统环境,而是生成在go/src/github.com/ipfs/go-ipfs/cmd/ipfs/ipfs.exe这里。实现方法就是将最后的:
make install

改为

make build

3️⃣ IPFS的初始化和连接

  • 初始化IPFS节点:
ipfs init

一文完全解决——Ubuntu20.04下源码构建安装IPFS环境_第1张图片

  • 按提示输入
ipfs cat /ipfs/QmQPeNsJPyVWPFDVHb77w8G42Fvo15z4bG2X8D2GhfbSXc/readme

查看已经存储的readme文件
一文完全解决——Ubuntu20.04下源码构建安装IPFS环境_第2张图片

  • 启动守护进程并连接到IPFS网络:ipfs daemon
    在这里插入图片描述
    可以在浏览器中输入:http://127.0.0.1:5001/webui 打开webui界面
    一文完全解决——Ubuntu20.04下源码构建安装IPFS环境_第3张图片

你可能感兴趣的:(Linux,linux,ubuntu,python,docker,ssh)