安装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。