我在Ubuntu 16.04 LTS中安装了go-1.6。我还设置了两个不同的工作区和$GOPATH,方法是指定这两个工作区在其中的位置。
但是其中一个工作空间(主工作空间或主工作空间)工作正常,而另一个工作空间(辅助工作空间)不工作。我希望在golang中使用辅助工作空间来实践web应用程序开发,而在我的项目中使用主要工作空间。这两个工作区都有不同的包,因为我将它们用于不同的目的。在使用辅助工作区时,当我在我的程序中导入包时,我得到了像'package not found‘这样的错误。“go build”工具在主工作区中查找这些包,但它们存在于辅助工作区中。我使用的是GitHub的Atom编辑器。
即使我使用“go get”安装包,这些包也安装在主工作区中。
“go环境变量”如下:
gkv@GKVInnovations:~$ go env
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/gkv/Desktop/goWorkspace:/home/gkv/Desktop/Business/Backend"
GORACE=""
GOROOT="/usr/lib/go-1.6"
GOTOOLDIR="/usr/lib/go-1.6/pkg/tool/linux_amd64"
GO15VENDOREXPERIMENT="1"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
CXX="g++"
CGO_ENABLED="1"主工作区的位置:- /home/gkv/Desktop/goWorkspace
辅助工作区的位置:- /home/gkv/Desktop/Business/Backend
请帮助我解决这个问题并改进我的工作流程!
发布于 2016-09-23 22:56:56
您正在使用Atom,这使得更改GOPATH变得更加困难。
Go会搜索GOPATH中列出的每个目录以查找源代码,但新的软件包总是下载到列表中的第一个目录中。
来自https://golang.org/cmd/go/#hdr-GOPATH_environment_variable
尽管Go可能是一个目录列表,但对于你机器上的所有Go代码,使用一个Go通常是正确且足够的。由于使用"go get“检索的所有包都有一个唯一的URL (因此磁盘上的路径也是唯一的),因此在使用Go工具构建时,几乎不需要拥有多个GOPATH。
来自https://github.com/golang/go/wiki/GOPATH#use-a-single-gopath
发布于 2016-09-24 06:27:48
我使用go为客户提供特定的软件包,并亲自参与lighter项目。都在同一台电脑上。我主要使用go get来处理这两个问题。
默认情况下,我的~/.bashrc中有一个export GOPATH=~/path/to/pro。当我想做我的个人项目时,我会使用export GOPATH=~/path/to/perso。
当我统一使用多个桌面视图(工作区)时,我让一个工作区带有一个终端,其中包含正确的GOPATH并在其中进行修补
https://stackoverflow.com/questions/39663709
复制相似问题