我在Go中创建了一个API,其中我已经通过“go get”安装了两个包,并创建了四个供我自己使用的包。一切似乎都很好。不过,我想移动包的位置,以便我可以拥有我的Git目录中的所有内容。在非默认目录中安装Go包
从我读过的内容来看,它应该像将GOPATH变量更改为新目录一样简单,然后再次运行“go get”来测试。它是否正确?如果是这样,我是否做错了什么?以下是我在运行“go env”时在终端(Mac OS X)中显示的内容。如果有其他信息会有用,请告诉我。谢谢。
GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread -fno-common"
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Applications/MAMP/htdocs/git/cbi/api"
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
CGO_ENABLED="1"
我要澄清,在默认情况我GOPATH是一个空字符串。我试着将它更新到上面的目录中,因为那是我希望安装新软件包的地方,也是为了查找我创建的放置在那里的任何软件包。
我设置我的GOPATH变量通过运行: 出口GOPATH = “/应用程序/ MAMP/htdocs中/的git/CBI/API”
这样做后,我可以看到变量已经被设置时,我键入“go env”。但是,如果我退出终端然后再打开它,并再次运行“go env”,则GOPATH变量未设置。它有没有保存的原因?我应该设置另一种方式,而不是出口?
当您尝试从新位置创建/运行时会发生什么? – 2013-02-20 21:24:23
你还没有提供足够的信息。当您使用不同的gopath时,您是否遇到问题需要帮助调试? – 2013-02-20 21:40:35
@RichChurcher只要包在我的GOROOT目录中,我就可以构建并运行包含我的主函数的go文件。但是,如果我从那里删除它们并尝试将它们放在我的api目录下,则不会找到它们。当我尝试使用pkg执行“go install”时,我得到:go install:没有安装位置用于_PACKAGE_PATH – user387049 2013-02-20 22:58:35