突然使用工具:没有这样的工具可以“编译”

时间:2018-07-05 01:48:39

标签: go

我已经在Ubuntu桌面上安装了go,在关闭计算机之前,它运行良好。

现在,当我启动机器并恢复该项目的工作时,我得到了

$ go build
go tool: no such tool "compile"
go tool: no such tool "compile"
go tool: no such tool "compile"
go tool: no such tool "compile"
go tool: no such tool "compile"

当我尝试构建项目时。

在关闭电源之前,我可能要做的唯一一件事就是使用

安装godoc
sudo apt-get install golang-doc

我直接通过下载go1.10.1.linux-amd64.tar.gz文件而不是使用apt-get来安装go

转到环境

GOARCH="amd64"
GOBIN=""
GOCACHE="/home/me/.cache/go-build"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/me/go"
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
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 -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build255010769=/tmp/go-build -gno-record-gcc-switches"

$ go版本

go version go1.10.1 linux/amd64

我仍然可以运行编译后的go代码。

这里可能出了什么问题?我该如何解决?

3 个答案:

答案 0 :(得分:5)

compile程序应位于您的go env GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"目录中。如果没有,请下载Go,删除/usr/local/go,然后重新安装Go。

答案 1 :(得分:1)

这似乎很奇怪,但是运行export GOROOT=对我来说解决了这个问题。

答案 2 :(得分:0)

Ubuntu 18特定解决方案:

  • 删除了手动安装的Go SDK和Go SRC
  • 删除了手动设置的GOROOT变量
  • golang-backports安装了Golang软件包:
sudo add-apt-repository ppa:longsleep/golang-backports
sudo apt-get install golang-1.15
  • 将我的${HOME}/.bashrc更新为:
export PATH=$PATH:/usr/lib/go-1.15/bin
  • 重新启动操作系统