Go执行build/get报错package unit is not in GOROOT问题求助
问题根因
你代码中的导入语句写法不符合Go modules的规范:Go modules模式下引入第三方依赖必须写完整的模块路径,不能仅使用包名的最后一段。你在go.mod中声明的依赖是github.com/martinlindhe/unit,但代码import处仅写了"unit",编译器找不到对应包时会默认去GOROOT的src目录下检索,也就出现了你遇到的报错。go mod download仅会拉取go.mod中声明的依赖,不会校验代码中import路径的正确性,所以执行该命令无报错。
解决步骤
- 调整import语句,将
"unit"替换为完整的模块路径:
import( "fmt" "github.com/martinlindhe/unit" )
- 保存修改后重新执行
go build即可正常编译运行。
内容的提问来源于stack exchange,提问作者Allen Fisher
相关产品推荐
相关产品推荐

