"make: go: command not found" - 尽管 go 二进制文件在 $PATH 中

And*_*rgy 1 makefile go runc raspberry-pi

我想在 Raspbian GNU/Linux 10 (buster)、Linux 4.19.97-v7+ 上构建 runC。

我下载了 go1.15.6 ARMv6 版本,解压到/usr/local并更新了$PATH& $GOPATH

go version 返回

go version go1.15.6 linux/arm
Run Code Online (Sandbox Code Playgroud)

echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games:/usr/local/go/bin
Run Code Online (Sandbox Code Playgroud)

按照构建 runC的说明,运行sudo make install返回

make: go: command not found
install -D -m0755 runc /usr/local/sbin/runc
Run Code Online (Sandbox Code Playgroud)

为什么找不到 go 二进制文件?

Joh*_*Oss 5

据我所知,sudo以 root 用户身份运行程序,而不是您当前的用户。因此,可能是$PATHMakefile 获得的与您当前用户获得的不同。

要解决此问题,您可以运行sudo -E make install-E确保您的环境得到保留。

  • 嘿约翰,这种方法对我有用,尽管我必须将命令修改为 `sudo -E env "PATH=$PATH" make install` 才能使其工作。谢谢你的回答! (4认同)