小编典典

Go build:“找不到包”(即使设置了GOPATH)

go

即使我已经GOPATH正确设置,我仍然无法通过“go build”或“go run”来找到我自己的包。我究竟做错了什么?

$ echo $GOROOT
/usr/local/go

$ echo $GOPATH
/home/mitchell/go

$ cat ~/main.go
package main
import "foobar"
func main() { }

$ cat /home/mitchell/go/src/foobar.go
package foobar

$ go build main.go
main.go:3:8: import "foobar": cannot find package

阅读 354

收藏
2021-11-05

共1个答案

小编典典

它不起作用,因为您的foobar.go源文件不在名为foobar. go buildgo install尝试匹配目录,而不是源文件。

  1. 设置$GOPATH为有效目录,例如export GOPATH="$HOME/go"
  2. 移动foobar.go$GOPATH/src/foobar/foobar.go并构建应该可以正常工作。

其他推荐步骤:

  1. 添加$GOPATH/bin到您$PATH的:PATH="$GOPATH/bin:$PATH"
  2. 移动main.go到 的子文件夹$GOPATH/src,例如$GOPATH/src/test
  3. go install test现在应该创建一个可执行文件$GOPATH/bin,可以通过test在终端中键入来调用它。
2021-11-05