go work模块与go mod包管理是的注意事项

embedded/2024/9/22 21:39:44/

如下图所示目录结构

在这里插入图片描述
cmd中是服务的包,显然auth,dbtables,pkg都是为cmd服务的。

首先需要需要将auth,dbtables,pkg定义到go.work中,如下:

在这里插入图片描述

在这样在各个单独的go mod管理的模块就可以互相调用了。一般情况下这些都是IDE自动进行的,在通过go work结合后,进入会go解析器会自动给不同的包生成一个版本,这个版本不会出现在go mod中例如使用go mod tidy命令

在这里插入图片描述
正是由于这个的生成在其他mod中才可以导入,但是有时候ide会出现一些问题,把这个显示在了go mod

在这里插入图片描述
这样直接在go mod显示会导致go在拉去第三方包时都通过线上拉去,导致抱不到这个本地生成的包。

在这里插入图片描述
go work也会报错
在这里插入图片描述

这里有两个解决方案,第一种直接将显示在go mod的包替换掉本地路径拉去如下:

在这里插入图片描述
另一种方案是是直接将显示的本地生成的删掉。

在这里插入图片描述
再重新go mod tidy即可,由解析控制从本地拉去。


http://www.ppmy.cn/embedded/9801.html

相关文章

Git 的基本概念和使用方式。

Git是一种分布式版本控制系统,用于跟踪文件的修改并协同工作。用户可以使用Git来记录文件的更改历史、创建分支、合并分支以及与其他用户共享代码。 Git的基本概念有以下几个: 仓库(Repository):存储项目文件及其版本…

【高项】第三章 信息系统治理

目录 3.1IT治理 3.1.1 IT治理基础 1. IT治理的驱动因素 2. IT治理的目标价值(与业务目标一致、有效利用信息与数据资源、风险管理) 3. IT治理的管理层次(最高管理层、执行管理层、业务与服务执行层) 3.1.2 IT治理体系 ​编…

python读取csv文件

在Python中,读取CSV(逗号分隔值)文件是一项常见的任务,通常可以使用内置的csv模块或pandas库来完成。以下是两种方法的示例: 使用内置的csv模块 import csv# 打开CSV文件 with open(example.csv, moder, encodingutf…

javascript 深拷贝总结

JavaScript 中的深拷贝是创建一个与原始对象完全独立的新对象,新对象中的属性值是原始对象属性值的一个拷贝,而不是引用。这意味着,如果你修改新对象,原始对象不会受到影响,反之亦然。 以下是一些实现深拷贝的常见方法…

RTT设备驱动框架学习(UART)

在serial.h中 struct rt_serial_device {struct rt_device parent;const struct rt_uart_ops *ops;struct serial_configure config;void *serial_rx;void *serial_tx;struct rt_spinlock spinlock;struct rt_device_notify rx_notify; } typedef struct rt_serial_device rt_…

mysql基础14——视图

视图 视图是一种虚拟表 可以把一段查询语句作为视图存储在数据库中 需要的时候把视图看作一个表,对里面的数据进行查询 视图并没有真正存储数据 避免了数据存储过程中可能产生的冗余 提高了存储的效率 子查询 嵌套在另一个查询中的查询 派生表 如果在查询中…

279. 完全平方数

给你一个整数 n ,返回 和为 n 的完全平方数的最少数量 。 完全平方数 是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、4、9 和 16 都是完全平方数,而 3 和 11 不是。 …

工业互联网集成应用实训室解决方案

一、背景 工业互联网集成应用实训室是专门为提供工业互联网技术实践教学和培训的设施,旨在帮助学生学习和掌握工业互联网技术。工业互联网是“互联网各个传统行业”的典型应用,通过利用互联网平台和信息通信技术,实现互联网与其他传统行业的…