mac系统版本10.14.6
由于mac系统版本太低导致kratos里面有的插件使用不了,所以我使用了mac下面的容器来实现这个kratos(grpc)
1、删除容器
docker-compose down
2、配置文件
3、运行配置文件
docker-compose up -d
4、查看是否运行
docker ps -a
5、进入容器
docker exec -it 55eaf0c5939b /bin/bash
6、查看go版本
7、升级go版本
先删除
sudo rm -rf /usr/local/go
sudo yum remove golang
下载
wget https://dl.google.com/go/go1.21.2.linux-amd64.tar.gz
curl -o https://dl.google.com/go/go1.21.2.linux-amd64.tar.gz
8、将下载的压缩包解压到 /usr/local 目录
sudo tar -C /usr/local -xzf go1.21.2.linux-amd64.tar.gz
9、设置环境变量
你需要将 Go 的 bin 目录添加到你的 PATH 环境变量中。可以在用户的 ~/.bash_profile 或 /etc/profile 中添加:
echo "export PATH=$PATH:/usr/local/go/bin" >> ~/.bash_profile
source ~/.bash_profile
10、最后,确认 Go 是否成功升级
go version
11、更新 Go Modules
go mod tidy
12、安装kratos
go install github.com/go-kratos/kratos/cmd/kratos/v2@latest
[kod.jsmmx.com)
[kod.kaiwanxiao.net)
[kod.qzheng.net)
[kod.riggocoffe.com)
[kod.panda-koala.com)
[kod.sa-long.com)
[kod.saiboge.com)
13、下载不下来,修改下载代理方式
go env -w GOPROXY=https://goproxy.cn,direct
14、操作完之后加入环境变量
15、由于手动下载了(通过物理机器下载了)
git@github.com:go-kratos/kratos-layout.git
16、通过-v的方式直接可以挂载到容器目录
17、添加和清理依赖
go mod tidy
18、运行项目
kratos run
19、测试
http://127.0.0.1:8000/helloworld/kratos
20、测试访问9000
http://127.0.0.1:9000/
发现访问不到,需要使用grpc访问(http访问不到)
21、 使用 gRPC 客户端连接 gRPC 服务
9000 端口是用于 gRPC 通信的,不能像 HTTP 一样直接通过浏览器访问。你需要使用 gRPC 客户端或者 gRPCurl 工具测试服务
22、安装 gRPCurl:
go install github.com/fullstorydev/grpcurl/cmd/grpcurl@latest
23、然后使用 gRPCurl 来测试 gRPC 服务
grpcurl -plaintext 127.0.0.1:9000 list
24、检查配置文件端口是否暴露
25、最后发现,需要开启2个端口,一个运行服务一个访问访问(9000)
26、补充,如果遇到下载不了kratos-layout,可以使用别的仓库地址
kratos new kratos-item-v2 -r https://gitee.com/go-kratos/kratos-layout.git
27、补充,当查询目录下是否有
28、如没有 wire_gen.go,可以生成一个
go get github.com/google/wire/cmd/wire