”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 为什么我无法在 GOPATH 项目中导入本地包?

为什么我无法在 GOPATH 项目中导入本地包?

发布于2024-11-09
浏览:783

Why Can\'t I Import Local Packages Within My GOPATH Project?

GOPATH 包导入问题

您在 GOPATH 中导入本地包时遇到问题,但在主目录中却没有。正如您所描述的,您的项目结构似乎是正确的。

相对导入路径

在 Go 中,不鼓励使用相对导入路径。它们主要用于实验,并不受 go build 和 go install 命令的完全支持。为了使您的项目能够与 Go 工具无缝协作,建议避免使用相对导入。

GOPATH 结构

GOPATH 是一个环境变量,用于指定 Go 查找的目录包。默认 GOPATH 设置为您的主目录 ($HOME/go)。在您的情况下,当项目位于 $GOPATH/src/project 时,您无法导入本地包,因为 Go 工具无法正确找到它们。

Recommendations

要解决此问题,请考虑以下事项:

  • 使用绝对导入路径: 而不是使用相对导入路径,使用本地包的绝对路径。在您的情况下,模型包的导入语句应该是:

    import "projpath/models"

    将 projpath 替换为项目目录的实际路径。

  • 考虑一个供应系统: 像 Go Modules 或 Go Vendoring 这样的供应系统可以帮助管理依赖关系和支持相对导入路径。它们允许您指定和跟踪项目中的本地包。
最新教程 更多>
  • 使用媒体查询定位iPhone 6、6 Plus及未来苹果设备
    使用媒体查询定位iPhone 6、6 Plus及未来苹果设备
    iPhone 6和6 plus 可以使用特定的媒体查询来定位iPhone 6和6 plus等设备的特定媒体查询。这些查询利用各种参数根据其屏幕尺寸,分辨率和其他特定于设备的特定特征来准确识别目标设备。雇用: landscape protait 启动图像肖像:750 x 1334(@2x) pr...
    编程 发布于2025-04-19
  • PHP阵列键值异常:了解07和08的好奇情况
    PHP阵列键值异常:了解07和08的好奇情况
    PHP数组键值问题,使用07&08 在给定数月的数组中,键值07和08呈现令人困惑的行为时,就会出现一个不寻常的问题。运行print_r($月份)返回意外结果:键“ 07”丢失,而键“ 08”分配给了9月的值。此问题源于PHP对领先零的解释。当一个数字带有0(例如07或08)的前缀时,PHP将...
    编程 发布于2025-04-19
  • PHP与C++函数重载处理的区别
    PHP与C++函数重载处理的区别
    作为经验丰富的C开发人员脱离谜题,您可能会遇到功能超载的概念。这个概念虽然在C中普遍,但在PHP中构成了独特的挑战。让我们深入研究PHP功能过载的复杂性,并探索其提供的可能性。在PHP中理解php的方法在PHP中,函数超载的概念(如C等语言)不存在。函数签名仅由其名称定义,而与他们的参数列表无关。...
    编程 发布于2025-04-19
  • 10款惊艳的jQuery小部件
    10款惊艳的jQuery小部件
    使用这10个很酷的jQuery小部件增强您的网站 本文展示了十个易于使用而功能强大的小部件,以提高您的网站的交互性和功能。 让我们潜入! jquery美味插件:使用其API从delicious.com显示信息。 live demo: Crayonbox jQuery插件:一个简单而多功...
    编程 发布于2025-04-19
  • 如何生成固定总和的随机数,保证均匀分布?
    如何生成固定总和的随机数,保证均匀分布?
    使用固定的sum [构成的挑战是生成一系列的pseudo-random数字,其总和等于一个预定值。具体而言,如何生成四个数字,当加在一起时,等于40。,而不是依靠可以偏向第一个数字的分布的方法,而是采用了更统一的方法。该解决方案利用一种策略将预定义值分为较小的段,使用随机选择的分隔符。假设我们有...
    编程 发布于2025-04-19
  • 在SQL Server中如何查询XML列的值?
    在SQL Server中如何查询XML列的值?
    [2 [2 SQL Server允许将XML数据存储在定义为XML数据类型的列中。 从这些列中检索特定数据需要专门查询。 假设您有一个带有此结构的XML列,名为“角色”: [2 找到包含特定角色的行,使用此查询: 选择 角色 从 Mytable 在哪里 roles.value(...
    编程 发布于2025-04-19
  • 如何使用不同数量列的联合数据库表?
    如何使用不同数量列的联合数据库表?
    合并列数不同的表 当尝试合并列数不同的数据库表时,可能会遇到挑战。一种直接的方法是在列数较少的表中,为缺失的列追加空值。 例如,考虑两个表,表 A 和表 B,其中表 A 的列数多于表 B。为了合并这些表,同时处理表 B 中缺失的列,请按照以下步骤操作: 确定表 B 中缺失的列,并将它们添加到表的末...
    编程 发布于2025-04-19
  • 在细胞编辑后,如何维护自定义的JTable细胞渲染?
    在细胞编辑后,如何维护自定义的JTable细胞渲染?
    在JTable中维护jtable单元格渲染后,在JTable中,在JTable中实现自定义单元格渲染和编辑功能可以增强用户体验。但是,至关重要的是要确保即使在编辑操作后也保留所需的格式。在设置用于格式化“价格”列的“价格”列,用户遇到的数字格式丢失的“价格”列的“价格”之后,问题在设置自定义单元格...
    编程 发布于2025-04-19
  • 浮动猫与立方体游戏攻略
    浮动猫与立方体游戏攻略
    我迫不及待地想拥有一些“免费”时间,这样我就可以为项目添加样式。关于一点点互动的一些东西为页面增添了生命。 您想要一只漂浮的猫吗?没问题。我使用AI制作了猫的图像,并“手工”提取了幻象中的背景,以获得我的.png图像的剪切效果。 BAM。猫。 让他移动一点,所以看起来他在漂浮。我最喜欢的CSS动...
    编程 发布于2025-04-19
  • 为什么在我的Linux服务器上安装Archive_Zip后,我找不到“ class \” class \'ziparchive \'错误?
    为什么在我的Linux服务器上安装Archive_Zip后,我找不到“ class \” class \'ziparchive \'错误?
    class'ziparchive'在Linux Server上安装Archive_zip时找不到错误 commant in lin ins in cland ins in lin.11 on a lin.1 in a lin.11错误:致命错误:在... cass中找不到类z...
    编程 发布于2025-04-19
  • input: Why Does "Warning: mysqli_query() expects parameter 1 to be mysqli, resource given" Error Occur and How to Fix It?

output: 解决“Warning: mysqli_query() 参数应为 mysqli 而非 resource”错误的解析与修复方法
    input: Why Does "Warning: mysqli_query() expects parameter 1 to be mysqli, resource given" Error Occur and How to Fix It? output: 解决“Warning: mysqli_query() 参数应为 mysqli 而非 resource”错误的解析与修复方法
    mysqli_query()期望参数1是mysqli,resource给定的,尝试使用mysql Query进行执行MySQLI_QUERY_QUERY formation,be be yessqli:sqli:sqli:sqli:sqli:sqli:sqli: mysqli,给定的资源“可能发...
    编程 发布于2025-04-19
  • JavaScript中如何创建和访问二维数组
    JavaScript中如何创建和访问二维数组
    在javascript 声明一个2D数组: 在javascript中声明一个2D数组,定义一个名为myArray的阵列并分配给它的数组,e.g.:g.:g.:g. f.:f.:f.:imantray, 6]];Accessing Members:To access members of this...
    编程 发布于2025-04-19
  • 如何使用替换指令在GO MOD中解析模块路径差异?
    如何使用替换指令在GO MOD中解析模块路径差异?
    在使用GO MOD时,在GO MOD 中克服模块路径差异时,可能会遇到冲突,其中3个Party Package将另一个PAXPANCE带有导入式套件之间的另一个软件包,并在导入式套件之间导入另一个软件包。如回声消息所证明的那样: go.etcd.io/bbolt [&&&&&&&&&&&&&&&&...
    编程 发布于2025-04-19
  • 如何干净地删除匿名JavaScript事件处理程序?
    如何干净地删除匿名JavaScript事件处理程序?
    删除匿名事件侦听器将匿名事件侦听器添加到元素中会提供灵活性和简单性,但是当要删除它们时,可以构成挑战,而无需替换元素本身就可以替换一个问题。 element? element.addeventlistener(event,function(){/在这里工作/},false); 要解决此问题,请考虑...
    编程 发布于2025-04-19

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3