以太坊源码分析(二) - GoLand导入并编译以太坊源码go-ethereum

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yzpbright/article/details/83538362

从github下载go-ethereum源码,然后用GoLand打开go-ethereum源码后,并不能自动成功编译,任意打开一个go文件,可以看到import那块代码里的github相关的会报错,提示找不到:go can’t find import: github.com/…,如interfaces.go这个文件中的:

import (
	"context"
	"errors"
	"math/big"

	"github.com/ethereum/go-ethereum/common"
	"github.com/ethereum/go-ethereum/core/types"
)

的最后两句github.com代码会报错。

按如下步骤解决:
1.打开file->settings的GOPATH选项,设置Global GOPATH为之前安装go时设置的GOPATH路径。
如:我之前设置的GOPATH是/home/y/go路径,那么Global GOPATH就设置为这个路径即可。
如:
这里写图片描述

2.go项目的源码并不能随便放在任意位置,必须放在GOPATH目录下的src目录下,若没有src目录,则新建

mkdir src

3.上面import语句中可以看到前面是github.com/ethereum,所以要在src目录下新建github.com/ethereum目录。

mkdir -p github.com/ethereum

4.然后把下载下来的go-ethereum源码拷贝到src/github.com/ethereum目录下,若下载下来时的项目源码名是go-ethereum-1.8.13,则修改为go-ethereum

5.现在可以用GoLand重新导入项目源码了,open project时选择项目源码地址是:${GOPATH}/src/github.com/ethereum/go-ethereum

6.现在打开Run->Edit Configurations,按下图配置:
这里写图片描述
配置完成后既可以开始编译了,可以看到编译成功:
这里写图片描述

猜你喜欢

转载自blog.csdn.net/yzpbright/article/details/83538362