• Golang 编写依赖包后使用报错, 以及无法即使更新最新版本依赖


    依赖包报错 module declares its path as...

    module declares its path as: 
    but was required as:

    今天将一部分共用的代码提取出来, 放在 github 以单独项目进行管理. 从另一个库进行依赖的时候, 执行 go mod tidy 加载依赖, 报错如上.

    看了一下其他人的包, go.mod 文件内, module 的值应该与 github 路径一致, 与引用的地方的写法一致.

    例如 https://github.com/gorilla/websocket 包, 里面 go.mod 中 module 的定义应该是 module github.com/gorilla/websocket, 在引用该包的时候, 应该使用 import "github.com/gorilla/websocket". 这三个地方应该是一致的. 如果不一致, 就会出现上面的依赖报错, 意思是 import 引入的 github 地址, 下载下来的代码, 声明自己的名字和预期不一样.

    更新被依赖包代码后, 使用 go mod tidy 无法拉取最新 version

    环境变量:

    export GO111MODULE=on

    说明已经开启了 v1.11+ 版本的 module 管理方式.

    在更新了被依赖包之后, 想要在引用的地方更新

    • 直接使用 tidy 进行更新无效, 并没有更新代码.
    • 删除 go.sum, 以及 go.mod 中对应的行后, 使用 tidy 进行更新无效
    • 删除 $GOPATH/pkg/mod 文件夹的缓存, 使用 tidy 进行更新无效

    后来找到, 在 ~/go/pkg/mod 下面, 仍然有一份缓存, 将其删除; 同时将 $GOPATH/pkg/mod 删除; 同时修改依赖 go.mod 相关记录; 三者同时进行, 即可获取到 github 刚刚的更新.

    原文:

    https://wumingxiaozu.com/2019/11/26/ComputerScience/Golang/Golang%20%E7%BC%96%E5%86%99%E4%BE%9D%E8%B5%96%E5%8C%85%E5%90%8E%E4%BD%BF%E7%94%A8%E6%8A%A5%E9%94%99,%20%E4%BB%A5%E5%8F%8A%E6%97%A0%E6%B3%95%E5%8D%B3%E4%BD%BF%E6%9B%B4%E6%96%B0%E6%9C%80%E6%96%B0%E7%89%88%E6%9C%AC%E4%BE%9D%E8%B5%96/

  • 相关阅读:
    JdbcTemplate增删改查案例
    顾问和注解
    使用多种方式实现AOP
    面试题
    Spring Bean的生命周期和作用域
    IOC和AOP交互拓展(二)
    AOP
    错题
    Spring核心概念
    hadoop-MapReduce框架原理之OutputFormat数据输出
  • 原文地址:https://www.cnblogs.com/jiftle/p/12599088.html
Copyright © 2020-2023  润新知