• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

go-micro升级到2.0后遇到的坑

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

go-micro安装成功后(安装过程百度很多),会报错:

 

原因:在go-micro里面引用的etcd的包是 3这样一来可能就需要改源码了。

找到包gins/registry/etcdv3下发现两个文件一个个改掉就好

watcher.go:

import (
    "context"
    "errors"
    "time"

    "github.com/micro/go-micro/v2/registry"
    //"github.com/coreos/etcd/clientv3"    # 原有的
    "go.etcd.io/etcd/clientv3"          # 修改后的
)

etcd.go

import (
    "context"
    "crypto/tls"
    "encoding/json"
    "errors"
    "net"
    "path"
    "sort"
    "strings"
    "sync"
    "time"

    //"github.com/coreos/etcd/clientv3"  # 原有的
    "go.etcd.io/etcd/clientv3"       # 修改后的
    "github.com/micro/go-micro/v2/logger"
    "github.com/micro/go-micro/v2/registry"
    hash "github.com/mitchellh/hashstructure"
    //"github.com/coreos/etcd/etcdserver/api/v3rpc/rpctypes"  # 原有的
    "go.etcd.io/etcd/etcdserver/api/v3rpc/rpctypes"       # 修改后的
    "go.uber.org/zap"
)

然后就报错得到解决

.....

 

 

因为go-micro v2.0后,去除了对consul 的支持(github.com/micro/go-micro/registry里面没有consul目录),但支持etcd、mdns作为服务发现,但是老版本的go-micro仍支持consul,但是有些地方做了调整。

首先,需要go 1.13的支持

然后,在获取go-micro库时,不能使用这个指令了 go get -u github.com/micro/go-micro
      改为:go get -u github.com/micro/go-micro/v2
原来go-micro consul的支持已经迁移到了go-plugins里面
我们的代码里在导入consul库时,也变为了:
"github.com/micro/go-plugins/registry/consul"
这个在下面的代码里可以看到

然后,没有安装gin的同学,需要使用如下指令获取下:
go get -u github.com/gin-gonic/gin

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
gobyte和string类型之间转换发布时间:2022-07-10
下一篇:
go-数组-切片-字典发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap