GRPC开发(1)-golang1.12安装

golang安装

环境centos7.3 ,管理员:root root的home目录:/root

# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
创建个下载目录(下面使用~,主要为了强调是当前用户的home目录下)
mkdir -p ~/downloads

下载源码
cd ~/downloads
wget https://studygolang.com/dl/golang/go1.12.5.linux-amd64.tar.gz

解压到/usr/local/目录下
tar zxvf go1.12.5.linux-amd64.tar.gz  -C /usr/local/

创建gopath目录
mkdir -p ~/gopath 
mkdir -p ~/gopath/src ~/gopath/pkg ~/gopath/bin

添加环境变量
vim ~/.bashrc 
追加
export GO111MODULE=auto
export GOROOT=/usr/local/go
export GOPATH=~/gopath
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

为当前用户添加环境变量。每次启动一个bash终端会为当前用户添加环境变量
source ~/.bashrc

查看是否安装成功
echo $GOROOT
/usr/local/go

echo $GOROOT
/usr/local/go

go version
go version go1.12.5 linux/amd64

至此golang环境就安装成功了

测试
mkdir -p ~/gopath/src/testgo
cd ~/gopath/src/testgo
vim main.go

package main

import (
    "fmt"
)

func main(){
   fmt.Println("hello world!")
}

执行下

# go run main.go 
hello world!

编译安装下我们的代码

# go build
# ls
main.go  testgo

执行install,可执行文件会从当前目录移动到~/gopath/bin目录下
# go install 
# ls
main.go
# ls ~/gopath/bin/
testgo

然后可以在当前用户级别使用我们的二进制文件
# testgo
hello world!

交叉编译

CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build

go mod使用
在 gopath下使用go mod报错,提示

# cd ~/gopath/src/testgo/
# go mod init testgo
go: modules disabled inside GOPATH/src by GO111MODULE=auto; see 'go help modules'

为了不改变当前的环境,我们需要把项目放在gopath外面:

# mkdir -p ~/goproject/testgo2
# cd ~/goproject/testgo2/

vim main.go

package main

import (
    "fmt"
)

func main(){
   fmt.Println("hello world!")
}
# go mod init testgo2
go: creating new go.mod: module testgo2
多了个go.mod
# ls
go.mod  main.go

# vim go.mod
追加被墙的一些替代源
replace (
	cloud.google.com/go => github.com/googleapis/google-cloud-go v0.40.0
	golang.org/x/crypto => github.com/golang/crypto v0.0.0-20190621222207-cc06ce4a13d4
	golang.org/x/exp => github.com/golang/exp v0.0.0-20190627132806-fd42eb6b336f
	golang.org/x/image => github.com/golang/image v0.0.0-20190622003408-7e034cad6442
	golang.org/x/lint => github.com/golang/lint v0.0.0-20190409202823-959b441ac422
	golang.org/x/mobile => github.com/golang/mobile v0.0.0-20190607214518-6fa95d984e88
	golang.org/x/net => github.com/golang/net v0.0.0-20190628185345-da137c7871d7
	golang.org/x/oauth2 => github.com/golang/oauth2 v0.0.0-20190604053449-0f29369cfe45
	golang.org/x/sync => github.com/golang/sync v0.0.0-20190423024810-112230192c58
	golang.org/x/sys => github.com/golang/sys v0.0.0-20190626221950-04f50cda93cb
	golang.org/x/text => github.com/golang/text v0.3.2
	golang.org/x/time => github.com/golang/time v0.0.0-20190308202827-9d24e82272b4
	golang.org/x/tools => github.com/golang/tools v0.0.0-20190628222527-fb37f6ba8261
	google.golang.org/api => github.com/googleapis/google-api-go-client v0.7.0
	google.golang.org/appengine => github.com/golang/appengine v1.6.1
	google.golang.org/genproto => github.com/google/go-genproto v0.0.0-20190627203621-eb59cef1c072
	google.golang.org/grpc => github.com/grpc/grpc-go v1.21.1
)

至此环境安装完成,接下来安装grpc

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

InterestingFigure

迈克 Let's Go

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值