You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用go get拉取自定义GitHub模块包时提示包不存在的问题

问题分析与解决

核心问题是包的导入路径与实际目录结构不匹配:
你的greetings.go直接放在模块根目录下,而模块路径是github.com/nonfungible-human/mod-test,因此该包的正确导入路径就是模块本身的路径,而非github.com/nonfungible-human/mod-test/greetings。你错误地将包名追加到模块路径后,导致Go无法找到对应包。

解决方法二选一:

方法一:修正导入语句(无需调整仓库结构)

  1. 修改示例程序的import语句,将github.com/nonfungible-human/mod-test/greetings替换为github.com/nonfungible-human/mod-test:
import (
    "fmt"
    "log"
    "github.com/nonfungible-human/mod-test"
)
  1. 代码中仍可通过greetings.XXX调用包内方法(因为greetings.go声明的包名是greetings)。
  2. 执行以下命令更新依赖并构建:
go get github.com/nonfungible-human/mod-test@v0.0.0
go build

方法二:调整仓库目录结构(符合常规包布局)

如果希望保持github.com/nonfungible-human/mod-test/greetings的导入路径,需调整仓库结构:

  1. 在仓库根目录创建greetings子目录,将greetings.go移入该目录。
  2. 重新提交代码并打新标签(如v0.0.1,因为模块内容已变更,旧标签无法覆盖)。
  3. 在示例程序中保持原导入语句,执行以下命令拉取新版本依赖并构建:
go get github.com/nonfungible-human/mod-test/greetings@v0.0.1
go build

验证步骤

执行以下命令可查看模块包含的包,确认路径正确性:

go list github.com/nonfungible-human/mod-test@v0.0.0/...

内容的提问来源于stack exchange,提问作者Zephyrus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 16:03:20