一尘不染

进行构建:“找不到包”(即使设置了GOPATH)

go

即使GOPATH设置正确,我仍然无法“运行”或“运行”来找到自己的软件包。我究竟做错了什么?

$ 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

阅读 433

收藏
2020-07-02

共1个答案

一尘不染

它不起作用,因为您的foobar.go源文件不在名为的目录中foobargo 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在终端中键入来调用该可执行文件。
2020-07-02