在这两天准备学习go语言微服务相关东西时要使用micro框架,因为看的视频是用的低版本go编译器和GOPATH,使用的是旧版本的micro框架,因为找不到和视频对应的框架版本,下载了半天跑不动

网上一搜全是22,21甚至更早的搭建micro的文档,很到东西现在不适应了(比如 "github.com/golang/protobuf/proto"已经没了, 改成 "google.golang.org/protobuf/proto"了, quic-go太低, 并且找不到naming, 我也不知道是什么, 反正好像也没有了), 实在找不下2024年的有关micro的框架搭建的文档,最后从github上照着作者的quick start终于搭建好了(官方地址: https://github.com/micro/micro?tab=readme-ov-file),以下就是搭建步骤和一些个人的心得(我比较喜欢先写坑有个准备再写步骤, 所以如果着急可以直接看第一步到第七步的命令, 有问题再回头看怎么解决):

安装 Micro CLI

  1. 第一步 (bash)

go install micro.dev/v4/cmd/micro@master

启动服务

我在启动时发现只有go install mirco的终端可以执行 mirco server, 其他终端又不能使用 micro 命令, 挺奇怪的, 不知道为什么, 所以我把 micro 给放到 /usr/bin/下面去了, 或者也可以去搜文档, 把 mirco 放到自己指定的目录并在环境变量中配置一下就好了

// 放入 /usr/bin 的方法: (bash)
找到自己第一步 install 的 mirco (通常在 $GOPATH/bin 下), 然后 cp mirco /usr/bin
  1. 第二步 (bash)

micro server

打开一个新终端, 在 mirco server 启动时 在新终端执行命令

  1. 第三步

micro env set local

登录用户名和密码 (用户名/密码): admin/micro

  1. 第四步

micro login
# `Enter username:` admin
# `Enter password:` micro
# `Successfully logged in.`

然后就可以创建案例(eg: helloworld)

  1. 第五步

micro new helloworld

然后它就会输出下面这些话

Output

Creating service helloworld

.
├── main.go
├── handler
│   └── helloworld.go
├── proto
│   └── helloworld.proto
├── Makefile
├── README.md
├── .gitignore
└── go.mod

打开该项目(如果使用的是 goland就直接 open project 这个 micro new 出来的 helloworld, 如果使用 bash 命令行就直接 cd helloworld 中)

`如果没有下载 protoc... (这个文档好像比较丰富, 可以找到关于 go 语言的 proto 的环境的下载, 如果找不到可以和我私信或留言) 下载 (protoc-$VERSION-$PLATFORM.zip) :

可以下载 https://github.com/protocolbuffers/protobuf/releases 的 proto包` (这是 github 作者的话, 我简单翻译了一下)

(最下面提供了一个关于 proto 的安装的参考)

注意第六步时(make proto后)如果 import 了 "github.com/golang/protobuf/proto" 在 helloworld/proto/helloworld.pb.micro.go 中, 将它换成 "google.golang.org/protobuf/proto", 并且在 helloworld 目录下使用命令更新 go.mod, 保证 go.mod 中没有 "github.com/golang/protobuf/proto"

go mod tidy
  1. 第六步

在 helloworld 文件下 使用下面命令 (如果没有 make 可以安装, 这个文档也很丰富)

make init
go mod vendor
make proto

基本就完成了, 可以通过命令启动 来验证

  1. 第七步(在 helloworld 目录下)

micro run .

在执行完成后如果没有报错, 可以使用命令

micro status

来查看输出结果得知是否成功

$ micro status
NAME		VERSION	SOURCE					STATUS	BUILD	UPDATED	METADATA
helloworld	latest	github.com/micro/services/helloworld	running	n/a	4s ago	owner=admin, group=micro

proto 的安装参考

  1. 下载 protobuf

    方法一:===> git clone https://github.com/protocolbuffers/protobuf.git
    
    方法二:===> 或者将准备好的压缩包进行拖入
    	解压到$GOPATH/src/github.com/protocolbuffers/下面
    	Unzip protobuf.zip
    
  2. 安装(ubuntu)

    (1)安装依赖工具(联网)
    $ sudo apt-get install autoconf automake libtool curl make g++ unzip libffi-dev -y
    
    (2)进入protobuf文件
    cd protobuf/
    
    (3)进行安装检测 并生成自动安装脚本
    ./autogen.sh
    ./configure
    
    (4)进行编译C代码
    make
    
    (5)进行安装
    sudo make install
    
    (6)刷新linux共享库关系
    sudo ldconfig
    
  3. 测试protobuf编译工具

    protoc -h
    

    如果正常输出 相关指令 没有报任何error,为安装成功

  4. 安装protobuf的go语言插件

    由于protobuf并没直接支持go语言需要我们手动安装相关插件

    (1)下载
    方法一:===> go get -v -u github.com/golang/protobuf/proto
    方法二:===>或者将 github.com-golang-protobuf.zip拖入 进行解压到 $GOPATH/src/github.com/golang
    
    (2)进入到文件夹内进行编译
    $ cd $GOPATH/src/github.com/golang/protobuf/protoc-gen-go
    $ go build
    
    (3)将生成的 protoc-gen-go可执行文件,放在/bin目录下
    $ sudo cp protoc-gen-go /bin/
    
    (4)尝试补齐protoc-gen-go 如果可以补齐代表成功,如果执行不报错 代表工具成功
    
posted on   zbjoy  阅读(61)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示