go build 不看 $GOPATH
go build not looking in $GOPATH
我设置了 $GOPATH,并导入了 $GOPATH/src.
中的部分源代码
我需要导入的包是我写的,存放在GOPATH/src
我将它命名为 otelkafkago,它的路径是 GOPATH/src/otelkafkago
我的硬盘上别处还有一个代码库,当我尝试编译它时,它给了我
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 build
main.go:51:2: package otelkafkago is not in GOROOT (/usr/local/go/src/otelkafkago)
kshitijpatil@PNQ-KPATIL checkoutservice % env GOPATH=/Users/kshitijpatil/go go build
main.go:51:2: package otelkafkago is not in GOROOT (/usr/local/go/src/otelkafkago)
kshitijpatil@PNQ-KPATIL checkoutservice %
Since Go 1.16,默认启用模块感知模式,无论 go.mod
文件是否存在于当前工作目录或父目录中。
More precisely, the GO111MODULE
environment variable now defaults to on
. To switch to the previous behavior, set GO111MODULE
to auto
.
在您的情况下,migrate to go modules 会更容易,即使将 GO111MODULE
设置为 auto
可能会有所帮助。
根据评论,您的 go.mod
的第一行应该是:
module myProject
你的另一个“otelkafkago”项目,它应该有自己的 go.mod
,module otelkafkago
作为第一行,并首先构建。
我设置了 $GOPATH,并导入了 $GOPATH/src.
中的部分源代码我需要导入的包是我写的,存放在GOPATH/src 我将它命名为 otelkafkago,它的路径是 GOPATH/src/otelkafkago
我的硬盘上别处还有一个代码库,当我尝试编译它时,它给了我
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 build
main.go:51:2: package otelkafkago is not in GOROOT (/usr/local/go/src/otelkafkago)
kshitijpatil@PNQ-KPATIL checkoutservice % env GOPATH=/Users/kshitijpatil/go go build
main.go:51:2: package otelkafkago is not in GOROOT (/usr/local/go/src/otelkafkago)
kshitijpatil@PNQ-KPATIL checkoutservice %
Since Go 1.16,默认启用模块感知模式,无论 go.mod
文件是否存在于当前工作目录或父目录中。
More precisely, the
GO111MODULE
environment variable now defaults toon
. To switch to the previous behavior, setGO111MODULE
toauto
.
在您的情况下,migrate to go modules 会更容易,即使将 GO111MODULE
设置为 auto
可能会有所帮助。
根据评论,您的 go.mod
的第一行应该是:
module myProject
你的另一个“otelkafkago”项目,它应该有自己的 go.mod
,module otelkafkago
作为第一行,并首先构建。