0

Go,Golang:在导入之前我必须有文件是没有意义的

我正在尝试进行下一步,但不断出现错误

  1. 我已经准备好要导入的包。
  2. 我需要做的就是从 github 导入外部包,并能够在任何代码上使用它。

所以这就是我所做的。

mkdir $HOME/go
export GOPATH=$HOME/go
go get github.com/user/project

这运行成功。我用来自 github 的源代码文件将它下载到这里

/Users/user/go/src/github.com/user/project/project.go

所以要使用我刚刚导入的这个包

go run /Users/user/Desktop/code.go

但我收到以下错误

 MacBook-Air:~ user$ go run /Users/user/Desktop/code.go 
 Desktop/code.go:32:8: cannot find package "project" in any of:
        /usr/local/go/src/pkg/project (from $GOROOT)
        /Users/user/go/src/project (from $GOPATH)

我该怎么办?我错过了什么吗?在此先感谢,请帮助我。我写了很多代码,但是因为这个而无法分发它非常沮丧。

4

2 回答 2

3

错误消息在您的第 32 行显示code.go找不到包“goling”。

假设这是您要使用的本地包,您需要确保它在您的 GOPATH 中。

如果您设置了 GOPATH,那么您应该在其中开发您的代码,因此将“goling”目录移动到其中/Users/user/go/src是正确的做法。

或者,“goling”可能是一个错字,因此请检查code.go. 如果你想从 github 导入一个项目,导入应该说

import "github.com/user/project"

然后你使用带有前缀的项目部分project.

如果这不能帮助您使其正常工作,请发布code.go.

于 2013-09-29T10:23:54.710 回答
1

看起来您的外部包与使用它的主包位于同一文件夹中。在 go 中,所有包必须位于不同的目录中。看起来 github 项目本身实际上就是这样做的。如果将包分开到不同的目录中,它应该可以正常工作。

于 2013-09-29T17:59:32.490 回答