树莓派4B踩坑指南 - ,8安装GO语言

下载

191129最新版本为go1.13.4.linux-armv6l.tar.gz

go官网(点此访问)国内访问似乎不是很稳定,但下载速度还挺快,下载地址:(点此访问)

安装

解压后是一个名为go的文件夹,详情可以查看安装帮助页(英文) go/doc/install.html

主要安装步骤:

tar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz
# 实际安装的时候,将go$VERSION.$OS-$ARCH.tar.gz替换成实际文件名
# 如go1.13.4.linux-armv6l.tar.gz

sudo nano /etc/profile
# 编辑环境变量

export PATH=$PATH:/usr/local/go/bin
# 在最后一行加上这句话,其他的不要改,保存(ctrl+o)退出(ctrl+x)

su
# 进入root权限账户,否则会提示`sudo: source:找不到命令`

source /etc/profile
# 刷新环境变量配置

测试

找个地方新建个名为hello的文件夹,里边新建一个hello.go的文件,文件内容:

package main

import "fmt"

func main() {
        fmt.Printf("hello, world\n")
}

在此文件夹打开命令行:

go build
# 启动编译,会看到文件夹内出现了一个名为hello的文件

./hello
# 执行编译好的hello,输出:hello, world

调试完毕!

卸载

  • 删除/usr/local/go文件夹
  • 删除/etc/profile中的环境变量export PATH=$PATH:/usr/local/go/bin

问题

  • 在实际运行时,发现用pi账户和root账户都可以直接使用,但是如果用sudo go会提示go:找不到命令,这个问题是由于sudo命令会重置环境变量而引起的。
  • sudo 使用配置文件 /etc/sudoers,那么将go的安装目录/usr/local/go/bin添加到安全路径Defaults secure_path里就好了。如下:
sudo nano /etc/sudoers
# 打开并编辑 sudoers

Defaults        secure_path="/usr/local/go/bin:/usr/local/sbin:/usr/local/bin:/$(后边不管他)
# 找到Defaults secure_path,并在双引号中添加 /usr/local/go/bin,以:分隔,然后保存(ctrl+o)退出(ctrl+x)