Ubuntu 18.04下Golang无法识别已安装的Goose怎么办

Ubuntu 18.04下Golang无法识别已安装的Goose怎么办 我在 Ubuntu 18.04 LTS 上安装了 Golang 和 Goose,但 Go 无法识别这台机器上安装的 Goose。我尝试过导出 CGO_ENABLED=0,这是在某个帖子中找到的,并且我还参考了其他一些帖子,例如 https://www.reddit.com/r/learnprogramming/comments/d9rlfv/go_python_goose_data_migration_i_cant_get_goose/f1n7op4/

以下是相关信息

ubuntu@ip-172-31-4-67:~$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/ubuntu/.cache/go-build"
GOENV="/home/ubuntu/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/ubuntu/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
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 -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build679517783=/tmp/go-build -gno-record-gcc-switches"
ubuntu@ip-172-31-4-67:~$ cd /home/ubuntu/go
ubuntu@ip-172-31-4-67:~/go$ ls
bin  pkg  src
ubuntu@ip-172-31-4-67:~/go$ cd src/
ubuntu@ip-172-31-4-67:~/go/src$ ls
github.com
ubuntu@ip-172-31-4-67:~/go/src$ cd github.com/
ubuntu@ip-172-31-4-67:~/go/src/github.com$ ls
mattn  pressly
ubuntu@ip-172-31-4-67:~/go/src/github.com$ cd pressly/
ubuntu@ip-172-31-4-67:~/go/src/github.com/pressly$ ls
goose
ubuntu@ip-172-31-4-67:~/go/src/github.com/pressly$ goose
goose: command not found
ubuntu@ip-172-31-4-67:~/go/src/github.com/pressly$

任何帮助或指导都将不胜感激。

编辑:以下是更多信息

 echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/local/go/bin:/usr/local/go/bin:~/go/src/github.com/pressly/goose:/usr/local/go/bin:/home/ubuntu/go/src/github.com/pressly/goose

更多关于Ubuntu 18.04下Golang无法识别已安装的Goose怎么办的实战教程也可以访问 https://www.itying.com/category-94-b0.html

2 回复

在定义了Go路径后,我能够运行goose命令。以下是基础 .profile 文件中的更改:

#export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/projects
export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin

更多关于Ubuntu 18.04下Golang无法识别已安装的Goose怎么办的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


问题在于你的 PATH 环境变量配置不正确。虽然你安装了 Goose,但系统无法在标准位置找到可执行文件。

首先检查 $GOPATH/bin 目录是否包含 goose 可执行文件:

ls -la $GOPATH/bin/

如果 goose 可执行文件存在,需要将 $GOPATH/bin 添加到 PATH 环境变量。编辑你的 shell 配置文件(如 ~/.bashrc~/.profile):

echo 'export PATH=$PATH:$HOME/go/bin' >> ~/.bashrc
source ~/.bashrc

如果 $GOPATH/bin 中没有 goose,你需要重新安装 goose 并确保它被安装到正确的位置。使用 go get 安装:

go get -u github.com/pressly/goose/cmd/goose

安装后验证 goose 是否在正确位置:

which goose

如果返回路径如 /home/ubuntu/go/bin/goose,说明安装成功。如果仍然找不到,检查你的 GOPATH 设置:

echo $GOPATH

确保它指向 /home/ubuntu/go,然后重新安装。

回到顶部