英文:
Where are my GO Binaries going?
问题
根据网站上的文档安装了Go,并将GOPATH设置为~/go。当我尝试运行"go install"命令时,我的bin目录是空的。没有错误消息,这让我相信没有错误,一切都编译正确。我该如何找到二进制文件被放置的位置?
更新:
输入"go env"给我这个结果:
GOARCH="amd64" GOBIN="/Users/kkaske/go/bin" GOCHAR="6" GOEXE="" GOHOSTARCH="amd64" GOHOSTOS="darwin" GOOS="darwin" GOPATH="/Users/kkaske/go" GORACE="" GOROOT="/usr/local/Cellar/go/1.2/libexec" GOTOOLDIR="/usr/local/Cellar/go/1.2/libexec/pkg/tool/darwin_amd64" TERM="dumb" CC="clang" GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fno-common" CXX="clang++" CGO_ENABLED="1"
英文:
Installed go according to the documents on the site. Set GOPATH to ~/go. My bin directory is empty when I try to run "go install" on an application. There is no error message, which leads me to believe that their was no errors and everything compiled correctly. How do I find out where the binaries are being put?
Update:
Typing in go env
give me this:
GOARCH="amd64"
GOBIN="/Users/kkaske/go/bin"
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/kkaske/go"
GORACE=""
GOROOT="/usr/local/Cellar/go/1.2/libexec"
GOTOOLDIR="/usr/local/Cellar/go/1.2/libexec/pkg/tool/darwin_amd64"
TERM="dumb"
CC="clang"
GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fno-common"
CXX="clang++"
CGO_ENABLED="1"
答案1
得分: 3
你的应用程序源代码是否在你的GOPATH中?它应该位于$GOPATH/src/yourpath目录下,使用符号链接在这里非常有用。然后它将被发布到相对的$GOPATH/bin位置
英文:
is your applications source within your gopath?
It should be in $GOPATH/src/yourpath - using symlinks here is very useful. Then it will be published to the relative $GOPATH/bin location
答案2
得分: 3
只需运行"go env"命令,你将得到如下内容:
GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/laz10049/go/"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
CC="gcc"
GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread"
CGO_ENABLED="1"
所以在我的情况下,二进制文件将位于"/usr/local/go/bin"目录下($GOROOT + "/bin/")。
英文:
Just run "go env"
and you will get something like this:
GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/laz10049/go/"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
CC="gcc"
GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread"
CGO_ENABLED="1"
So in my case binaries will be located at "/usr/local/go/bin" ($GOROOT + "/bin/")
答案3
得分: 1
非常简单的解决方案:
我的解决方法适用于基于Ubuntu的系统。
首先,我们需要为您设置一个工作空间,您可以在其中开始进行Go项目的工作。
注意:我在配置Go时使用的是目录名称,您可以使用自己的目录名称。
步骤1:
创建一个名为GoLang的目录
$ mkdir -p $HOME/GoLang
现在进入GoLang目录。
$ cd $HOME/GoLang
步骤2:
在GoLang目录中创建两个名为**"bin"和"src"**的目录。
$ mkdir -p bin
$ mkdir -p src
额外信息:src目录包含扩展名为.go的源文件,bin目录包含可执行文件。
步骤3:
现在我们需要编辑您的***.bashrc***文件。
在终端中输入以下命令。
$ nano ~/.bashrc
.bashrc文件将打开,您需要滚动到末尾并输入以下行。
export GOPATH=$HOME/GoLang/src
export GOBIN=$HOME/GoLang/bin
最后一步是保存文件并重新启动终端。
现在运行go env
命令,您将看到类似以下内容:
GOARCH="amd64"
GOBIN="/home/infoir/GoLang/bin"
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/infoir/GoLang/src"
GORACE=""
GOROOT="/usr"
GOTOOLDIR="/usr/pkg/tool/linux_amd64"
TERM="dumb"
CC="gcc"
GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread"
CXX="g++"
CGO_ENABLED="1"
英文:
VERY SIMPLE SOLUTION:
My fix works on Ubuntu based systems.
First we have to setup the Workspace for you where you can start working on your Go Projects.
Note: I am using directory names which I have used on my system to configure Go. You can use your own directory names.
Step 1:
Create a directory named GoLang
$ mkdir -p $HOME/GoLang
Now move into GoLang Directory.
$ cd $HOME/GoLang
Step 2:
Create two directories named "bin" and "src" inside GoLang directory.
$ mkdir -p bin
$ mkdir -p src
Extra Info: src directory contains source files with .go extension and bin directory contains executable files.
Step 3:
Now we have to edit your .bashrc file.
Type this command in the Terminal.
$ nano ~/.bashrc
.bashrc file will open and you have to scroll down to the end and type these lines.
export GOPATH=$HOME/GoLang/src
export GOBIN=$HOME/GoLang/bin
Final step is to save the file and restart the terminal.
Now run go env
and you will see something like this:
GOARCH="amd64"
GOBIN="/home/infoir/GoLang/bin"
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/infoir/GoLang/src"
GORACE=""
GOROOT="/usr"
GOTOOLDIR="/usr/pkg/tool/linux_amd64"
TERM="dumb"
CC="gcc"
GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread"
CXX="g++"
CGO_ENABLED="1"
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论