安装GO环境
安装protoc以及相关的包和插件
https://www.jianshu.com/p/6942a361e455
安装Kratos
Go version>=1.12 and GO111MODULE=on
go get -u github.com/bilibili/kratos/tool/kratos 提示:安装过程中可能会出现部分包下载失败,可以手动下载包然后拷贝至相应文件目录。
快速开始
cd $GOPATH/src kratos new kratos-demo cd kratos-demo/cmd go build ./cmd -conf ../configs 打开浏览器访问:http://localhost:8000/kratos-demo/start,你会看到输出了Golang 大法好 !!!
新建kratos脚手架
kratos new是快速创建一个项目的命令,执行如下:
kratos new kratos-demo 即可快速在当前目录生成一个叫kratos-demo的项目。此外还支持指定owner和path,如下:
kratos new kratos-demo -o YourName -d YourPath 注意,kratos new默认是不会生成通过 protobuf 定义的grpc和bm示例代码的,如需生成请加--proto,如下:
kratos new kratos-demo -o YourName -d YourPath --proto 特别注意,如果不是MacOS系统,需要自己进行手动安装protoc,用于生成的示例项目
api目录下的proto文件并不会自动生成对应的.pb.go和.bm.go文件。
如果生成项目的时候并未使用--proto,则可以使用命令:
// generate all
kratos tool protoc api.proto
// generate gRPC
kratos tool protoc --grpc api.proto
// generate BM HTTP
kratos tool protoc --bm api.proto
// generate swagger
kratos tool protoc --swagger api.proto
执行对应生成 api.pb.go/api.bm.go/api.swagger.json 源文档。
也可以参考以下说明进行生成:protoc说明
生成脚手架的时候可能产生以下错误:

从错误可以看出
"google.protobuf.*包缺失,我们可以在其他位置拷贝到$GOPATH/src中。在$GOPATH中找到相应的文件:
将相应缺少的文件拷贝至$GOPATH/src下

然后再次执行:kratos tool protoc api.proto,执行成功后会在api文件夹中生成三个文件:

运行项目
在cmd文件夹执行命令:go build
如果发生如下错误:

则找到相应位置删除,然后重新安装。
同样,如果出现包缺失,需要下载到相应位置。
然后执行:cmd.exe -conf ../configs

成功启动后,可以看到启动了两个进程,分别监听8000和9000。
有疑问加站长微信联系(非本文作者)
