centos7.4 记一次 go安装的问题,及目录命令熟悉

学 go 安装第一步,go 不需要安装 Nginx,也可以跑服务,虽然现在 php 也可以,但 PHP 环境一般默认了 wamp lamp lnmp

centos7.4 安装步骤简述#

  wget https://dl.google.com/go/go1.15.10.linux-amd64.tar.gz  #拉取安装包
  tar -C /usr/local -zxvf  go1.15.10.linux-amd64.tar.gz  #解压文件
  mv go/  /usr/local/  #文件移动
  vim /etc/profile  #环境变量配置
  source /etc/profile #生效

  go env -w GO111MODULE=on  #打开 Go modules 开关 go1.13默认auto
  go env -w GOPROXY="https://goproxy.cn,direct"  #配置代理地址
  go version  #版本信息 正常显示 一般是安装成功

现在可以安装 1.8 了,BTA 版也加入了泛型,我经历上述步骤后,go version 命令也会正确显示我的版本号 go1.15.10, 表名我已经安装成功了

问题#

我遇到的问题是,如上述安装成功后,每当我下次重新登录服务器,我的 go 命令就失效了?
查阅资料后 发现还需要编辑下,并且下次登录服务器也可以使用 go 命令了

vi ~/.bashrc
alias go='/usr/local/go/bin/go' #添加这段代码 
source ~/.bashrc #生效(配置后每次登录服务器都会重新读取这个文件)

目录熟悉#

$GOPATH 是 go 的工程目录#
  • $GOPATH/bin go 命令目录文件
  • $GOPATH/pkg/mode 存放的是包文件,按远程地址区分 (包文件并不像 php 一样在项目里)
    如 github.com 一个目录
  • $GOPATH/pkg/sum 文件校验和目录
$GOROOT 是 go 的安装目录#
  • api:用于存放依照 Go 版本顺序的 API 增量列表文件。这里所说的 API 包含公开的变量、常量、函数等。这些 API 增量列表文件用于 Go 语言 API 检查
  • bin:用于存放主要的标准命令文件(可执行文件),包含 gogodocgofmt
  • blog:用于存放官方博客中的所有文章
  • doc:用于存放标准库的 HTML 格式的程序文档。我们可以通过 godoc 命令启动一个 Web 程序展示这些文档
  • lib:用于存放一些特殊的库文件
  • misc:用于存放一些辅助类的说明和工具
  • pkg:用于存放安装 Go 标准库后的所有归档文件(以.a 结尾的文件)。注意,你会发现其中有名称为 linux_amd64 的文件夹,我们称为平台相关目录。这类文件夹的名称由对应的操作系统和计算架构的名称组合而成。通过 go install 命令,Go 程序会被编译成平台相关的归档文件存放到其中
  • src:用于存放 Go 自身、Go 标准工具以及标准库的所有源码文件
  • test:存放用来测试和验证 Go 本身的所有相关文件

常用命令#

go help <command> //显示指定命令信息
go version  //版本信息
go ev      //go安装配置信息
go run     //运行代码
go build   //编译代码
go install //安装项目
go get -u  包名  //获取安装 go 包
go mod download  //下载 go.mod 文件中指明的所有依赖
go mod tidy   //整理现有的依赖
go mod graph  //查看现有的依赖结构
go mod init   //生成 go.mod 文件
go mod edit   //编辑 go.mod 文件
go mod verify //校验一个模块是否被篡改过

感慨:#

go 是一门较简单的语言,但要熟悉真要花些心思呀!前段时间一直在焦虑,急躁,内耗,一直看文档,基础、并发协程,微服务,晕头转向,看了也不会! 还是要多实践多总结呀!不要害怕自己写的博客差,写起来,一点点积累,总能水滴石穿的!

本作品采用《CC 协议》,转载必须注明作者和本文链接
滴水穿石,石破天惊 ---- 晓疯子
zhaocrazy
讨论数量: 4
playmaker

这就是环境变量 跟 windows 一样

3年前 评论
zhaocrazy (楼主) 3年前

厉害,很详细。过几天我写一个一键安装的 sh 脚本,就不用做这么多的配置了。配置环境一直都很浪费时间。

3年前 评论
zhaocrazy (楼主) 3年前