在Mac OS系统中安装Go语言环境教程

今天我们来讲一讲如何快速在mac os 系统中安装go 语言环境。

一、go 环境安装

方案一:官网下载安装(推荐)

1、官网下载安装包

打开 go 官网,选择你的电脑系统及项目所需版本进行下载。

推荐两个go网址:
Go 语言中文网
Go 官方镜像站

2、安装

默认安装到 /usr/local/go/ 目录。如果卸载,即删除 /ect/paths.d/go文件。

3、验证是否安装成功

我们可以使用go 的版本查看命令来确认是否安装成功,安装成功后可看到安装的版本。

命令:

bash 复制代码
$ go version

如果成功看到版本,那么恭喜您已成功安装成功!!!

方案二:通过Homebrew安装Go

bash 复制代码
brew install go 

如果未安装Homebrew ,可以用如下命令安装:

bash 复制代码
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

卸载 Go:

  1. 删除安装目录:

    bash 复制代码
    sudo rm -rf /usr/local/go
  2. 清理环境变量:

~/.zshrc~/.bash_profile 中移除 Go 相关配置。

二、设置go 项目目录

1、 创建 go项目目录结构,打开终端并创建如下目录:

bash 复制代码
$ mkdir $HOME/go
 
//bin:存放编译后生成的可执文件;
$ mkdir $HOME/go/bin
 
$ mkdir $HOME/go/pkg

//src:存放原代码;
 
$ mkdir $HOME/go/src

2、检查当前环境变量GOPATH 。

bash 复制代码
$ echo $GOPATH

3、设置环境变量GOPATH ,或者修改环境变量。

bash 复制代码
$ export GOPATH=$HOME/go

4、在 github目录下创建用于存储源代码的文件夹 :

bash 复制代码
$ mkdir -p $GOPATH/src/github.com/[your github username]

注意:千万不要把GOPATH设置成go的安装路径,一般在自己的用户目录下创建一个目录来作为GOPATH 目录,比如上面例子的 export GOPATH=$HOME/go

三、配置全局变量

1、查看当前环境变量配置情况:

bash 复制代码
go env

2、配置环境变量

(1)打开终端输入**cd ~**进入用户主目录;

(2)在**.bash_profile** 文件内配置如下环境变量**;**

使用vim打开.bash_profile文件;

bash 复制代码
export GOPATH=/Users/lucy/go
 
export GOBIN=$GOPATH/bin
 
export PATH=$PATH:$GOBIN

(3)执行如下命令使配置生效

bash 复制代码
$ source ~/.bash_profile

**备注:**添加用户环境变量,只需要修改 ~/.bash_profile(Bourne Shell)或 ~/.zshrc(zsh)或其他用户级配置文件即可。

如果Mac终端使用的shell脚本是默认的,就是修改 .bash_profile 文件;

如果Mac安装使用的是zsh,则修改 .zshrc 文件。

注:添加环境变量之后,需要使用命令 source ~/.zshrc 来使配置立即生效。

3、配置镜像

为解决go mod 下载慢的问题,可以选择配置国内镜像

(1)配置阿里镜像

bash 复制代码
go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct

(2)配置多级代理

bash 复制代码
go env -w GOPROXY=https://goproxy.cn,https://goproxy.io,direct

(2)查看当前镜像

bash 复制代码
go env | grep GOPROXY

4、全局替换url 前缀

基本语法:

bash 复制代码
git config --global url.<新URL>.insteadOf <原URL>

常见用途:

(1)替换协议(如 HTTPS ←→ SSH)

复制代码
git config --global url.git@github.com:.insteadOf https://github.com/

(2)统一仓库路径

复制代码
git config --global url.git@github.com:.insteadOf https://github.com/

(3)企业内部代理转换

复制代码
git config --global url.https://proxy.example.com/.insteadOf https://git.internal.com/

(4)简化长 URL

复制代码
git config --global url.git@gitlab.com:group/.insteadOf https://gitlab.com/group/

四、GOPATH VS GOROOT

1、GOPATH VS GOROOT 目录工作职能介绍

  • GOROOT:安装目录(go的安装目录)。
  • GOPATH:工程目录(作为编译后二进制的存放目的地和import包时的搜索路径,其实说通俗点,就是你的go项目工作目录)。
  • GOBIN:go 的可执行文件目录。
  • PATH:将go可执行文件加入PATH中,使GO命令与我们编写的GO应用可以全局调用。

通常情况下GOPATH包含三个目录:bin、pkg、src。

  • src目录下主要存放go的源文件
  • pkg目录存放编译好的库文件,主要是*.a文件;
  • bin目录主要存放可执行文件

如果误把GOPATH设置成go的安装路径,在用go env 查看环境变量是会出现告警。

bash 复制代码
warning: GOPATH set to GOROOT (/usr/local/go) has no effect

为什么会出现警告呢?那我们必须清楚GOROOT和GOPATH两个路径分别代表的用途是什么?GOPATH作为 工程项目运行时存储编译后二进制文件的目录,最好是一个空文件夹。

五、其他知识点

1、go run/ go install/ go build / go get的区别

  • go run 运行当个.go文件
  • go install 在编译源代码之后还安装到指定的目录
  • go build 加上可编译的go源文件可以得到一个可执行文件
  • go get = git clone + go install 从指定源上面下载或者更新指定的代码和依赖,并对他们进行编译和安装
相关推荐
C++ 老炮儿的技术栈7 小时前
C/C++ 中 inline(内联函数)和宏定义(#define)的区别
开发语言·c++·git·算法·机器人·visual studio
我什么都学不会7 小时前
Python练习作业2
开发语言·python
计算机学姐8 小时前
基于SpringBoot的美食分享交流平台
java·spring boot·后端·spring·java-ee·intellij-idea·美食
henujolly8 小时前
ethers.js读取合约信息
开发语言·javascript·区块链
Eugene__Chen8 小时前
Java关键字(曼波版)
java·开发语言
无望__wsk8 小时前
Python第一次作业
开发语言·python·算法
Word码8 小时前
[C++语法]-vector(用法详解及实现)
开发语言·c++
代码雕刻家8 小时前
4.3.多线程&JUC-多线程的实现方式
java·开发语言
梦6508 小时前
网络传输七层协议
开发语言·网络·php
源代码•宸9 小时前
Leetcode—746. 使用最小花费爬楼梯【简单】
后端·算法·leetcode·职场和发展·golang·记忆化搜索·动规