下载后如何安装go软件包?

时间:2019-05-10 22:07:32

标签: go go-get gitleaks

我跑了这个

cd $GOPATH && go get -u github.com/zricethezav/gitleaks

困惑的是,我现在有了这个:

$GOPATH/
     src/
       github.com/
         gitleaks/

但是没有bin/文件夹...我希望在这里看到bin文件夹:$GOPATH/bin

我做错了吗?如何安装软件包,以便显示二进制文件?我尝试跑步:

go install github.com/zricethezav/gitleaks

但是安装后,我没有看到bin/文件夹...

go env的输出如下:

GOARCH="amd64"
GOBIN="/Users/alex/go/bin"
GOCACHE="/Users/alex/Library/Caches/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/alex/go"
GOPROXY=""
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/st/159q4vsd64b69_x99dtzzt6m0000gn/T/go-build133179815=/tmp/go-build -gno-record-gcc-switches -fno-common"

3 个答案:

答案 0 :(得分:0)

如果$ GOPATH不在根目录中,我认为您必须手动创建bin文件夹。我已经手动创建了$ GOPATH / bin文件夹,它的工作正常。

答案 1 :(得分:0)

go get之后,gitleaks可执行文件应位于$GO_PATH\bin目录中,而不是$GO_PATH\src...\gitleaks中。

查看此内容:https://pocketgophers.com/go-install-vs-go-build/

答案 2 :(得分:0)

我在MacOS上使用brew install go安装了golang,显然没有将主要二进制文件放入/usr/local/go中,这就是我的go get命令失败的原因。

所以我不使用brew而是通过https://golang.org/doc/install?download=go1.12.5.darwin-amd64.pkg

进行安装

使用.pkg文件进行安装后,/usr/local/go中存在文件,因此我的go get命令起作用了。

我的猜测是,自制软件会将go二进制文件放置在与/usr/local/go不同的位置,这有点像sux,但我可以理解为什么。