为了账号安全,请及时绑定邮箱和手机立即绑定

去构建不看$GOPATH

去构建不看$GOPATH

Go
月关宝盒 2022-08-24 17:07:57
我已经设置了$GOPATH,并导入了$GOPATH / src中存在的源代码的某些部分。我需要导入的软件包是由我编写的,并存储在GOPATH / src中,我将其命名为otelkafkago,它的路径是GOPATH / src / otelkafkago我的HardDisk上还有一个代码库,当我尝试编译它时,它给了我main.go:51:2: package otelkafkago is not in GOROOT (/usr/local/go/src/otelkafkago)我已将其导入为import(    "otelkafkago")以下是我在构建过程中的屏幕截图,kshitijpatil@PNQ-KPATIL checkoutservice % echo $GOPATH/Users/kshitijpatil/go/kshitijpatil@PNQ-KPATIL checkoutservice % go buildmain.go:51:2: package otelkafkago is not in GOROOT (/usr/local/go/src/otelkafkago)kshitijpatil@PNQ-KPATIL checkoutservice % env GOPATH=/Users/kshitijpatil/go go buildmain.go:51:2: package otelkafkago is not in GOROOT (/usr/local/go/src/otelkafkago)kshitijpatil@PNQ-KPATIL checkoutservice % 
查看完整描述

1 回答

?
叮当猫咪

TA贡献1776条经验 获得超12个赞

从 Go 1.16 开始,模块感知模式默认处于启用状态,无论文件是存在于当前工作目录还是父目录中。go.mod

更准确地说,环境变量现在默认为 。要切换到上一种行为,请设置为 。GO111MODULEonGO111MODULEauto

在您的情况下,迁移到 go 模块会更容易,即使设置为 可能会有所帮助。GO111MODULEauto

如前所述,您的第一行应该是:go.mod

module myProject

你的另一个“otelkafkago”项目,它应该有自己的作为第一行,并首先构建。go.modmodule otelkafkago


查看完整回答
反对 回复 2022-08-24
  • 1 回答
  • 0 关注
  • 99 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信