Windows编译环境需要符合以下条件:
git:2.19.1以上
go语言开发包:go(1.13+)
mingw:mingw(V8.1.0)
cmake: 3.0+
1、管理员身份启动PowerShell(快捷键:Win+x)
Chocolatey安装:
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
安装或更新Git:
安装Git:
choco install git
更新Git:
查看Git版本:git --version
2.17.1以前:git update
2.17.1之后:git update-git-for-windows
版本是2.14.1的,会提示
git: ‘update’ is not a git command
git: ‘update-git-for-windows’ is not a git command
解决方法:重新下载新版本安装包,覆盖安装即可
安装golang:
choco install golang
安装mingw:
choco install mingw
安装cmake:
choco install cmake --installargs 'ADD_CMAKE_TO_PATH=System'
2、打开Git Bash
以下命令均需在Git-bash环境运行, 在任意目录下,鼠标右键,选中Git Bash Here,弹出Git Bash运行窗口。
获取源码
获取源码放到GOPATH路径下,其中alaya为分支名称,届时切换到实际的分支:
mkdir -p $GOPATH/src/github.com/PlatONnetwork
cd $GOPATH/src/github.com/PlatONnetwork
git clone -b alaya-develop https://github.com/PlatONnetwork/PlatON-Go.git --recursive
可能出现问题(1):error setting certificate verify locations
解决方法:
git config --system http.sslcainfo "正确的根目录地址/Git/mingw64/ssl/certs/ca-bundle.crt"
添加bls依赖库到环境变量
echo 'export PATH=$PATH:"$GOPATH/src/github.com/PlatONnetwork/PlatON-Go/crypto/bls/bls_win/lib"' >> ~/.bashrc
source ~/.bashrc
编译
cd $GOPATH/src/github.com/PlatONnetwork/PlatON-Go
go run build/ci.go install ./cmd/platon
go run build/ci.go install ./cmd/alayakey
可能出现问题(1):missing go.sum entry
解决方法:
go build -mod=mod
可能出现问题(2):dial tcp 211.00.200.49:443: connectex: A connection attempt failed because the connected party …
解决方法:
是因为SET GOSUMDB=sum.golang.org
查看 GOSUMDB 的配置
go env
修改
go env -w GOSUMDB=off
把他关掉就好了
代理推荐
go env -w GOPROXY=https://goproxy.cn,direct
可能出现问题(3):missing go.sum entry for module providing package
当在代码中使用了第三方库 ,但是go.mod中并没有跟着更新的时候
如果直接run或者build就会报这个错误
解决方法:
go mod tidy
可能出现问题(4): Access is denied
解决方法:关掉360杀毒软件
编译完成之后在PlatON-Go/build/bin目录下会生成platon、alayakey可执行文件,将这两个可执行文件拷贝到自己工作目录运行即可。
重复编译会覆盖之前生成的可执行文件。