Go,Golang:使用GOROOT导入外部包

时间:2013-09-29 10:05:15

标签: github go package

Go, Golang : does not make sense that I have to have files before import

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

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

    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)
    

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

2 个答案:

答案 0 :(得分:3)

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

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

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

或者“goling”可能是拼写错误,因此请检查code.go中的导入。如果要从github导入项目,则导入应该说

import "github.com/user/project"

然后使用前缀为project.

的项目部分

如果这对您的工作没有帮助,请发布code.go

的导入部分

答案 1 :(得分:1)

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