在mac 上zsh 如何安裝最新的 go 工具

在這里插入圖片描述

文章目錄

    • 方法一:使用 Homebrew(推薦)
    • 方法二:從官網下載安裝包
    • 方法三:使用 g(Go 版本管理器)
    • 方法四:使用 gvm(Go Version Manager)
    • 驗證安裝和配置
    • 常用 Go 工具安裝
    • 完整的 ~/.zshrc 配置示例
    • 升級 Go 版本

在 macOS 上使用 zsh 安裝最新 Go,我推薦幾種方法:

方法一:使用 Homebrew(推薦)

1. 安裝 Homebrew(如果還沒有):

bash

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

2. 安裝最新版 Go:

bash

brew install go

3. 驗證安裝:

bash

go version

4. 配置環境變量:~/.zshrc 文件中添加:

bash

export GOPATH=$HOME/go
export GOROOT=/opt/homebrew/lib/go  # Apple Silicon Mac
# export GOROOT=/usr/local/lib/go   # Intel Mac
export PATH=$PATH:$GOPATH/bin:$GOROOT/bin

然后重新加載配置:

bash

source ~/.zshrc

方法二:從官網下載安裝包

1. 訪問 Go 官網: 訪問 golang.org/dl 下載 macOS 安裝包

2. 安裝后配置環境變量:~/.zshrc 文件中添加:

bash

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

方法三:使用 g(Go 版本管理器)

1. 安裝 g:

bash

curl -sSL https://git.io/g-install | sh -s

2. 配置 PATH:~/.zshrc 中添加:

bash

export GOPATH=$HOME/go
export PATH="$GOPATH/bin:$PATH"
export G_MIRROR=https://golang.google.cn/dl/  # 可選:使用國內鏡像

3. 安裝最新版 Go:

bash

g install latest
g set latest

方法四:使用 gvm(Go Version Manager)

1. 安裝 gvm:

bash

bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)

2. 重新加載 shell:

bash

source ~/.zshrc

3. 安裝最新版 Go:

bash

gvm install go1.21.5 -B  # 替換為最新版本號
gvm use go1.21.5 --default

驗證安裝和配置

1. 檢查版本:

bash

go version

2. 檢查環境變量:

bash

go env GOPATH
go env GOROOT

3. 創建測試項目:

bash

mkdir -p $GOPATH/src/hello
cd $GOPATH/src/hello

創建 hello.go 文件:

go

package mainimport "fmt"func main() {fmt.Println("Hello, Go!")
}

4. 運行測試:

bash

go run hello.go

常用 Go 工具安裝

安裝一些常用的 Go 開發工具:

bash

# 代碼格式化
go install golang.org/x/tools/cmd/goimports@latest# 代碼檢查
go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest# 調試工具
go install github.com/go-delve/delve/cmd/dlv@latest# 熱重載
go install github.com/cosmtrek/air@latest# 依賴管理可視化
go install github.com/KyleBanks/depth/cmd/depth@latest

完整的 ~/.zshrc 配置示例

bash

# Go 環境配置
export GOPATH=$HOME/go
export GOROOT=/opt/homebrew/lib/go  # Apple Silicon
# export GOROOT=/usr/local/go       # 官網安裝或Intel Mac
export PATH=$PATH:$GOPATH/bin:$GOROOT/bin# Go 代理配置(可選,提高下載速度)
export GOPROXY=https://goproxy.cn,direct
export GOSUMDB=sum.golang.google.cn# Go 模塊配置
export GO111MODULE=on

升級 Go 版本

使用 Homebrew:

bash

brew upgrade go

使用 g:

bash

g install latest
g set latest

使用 gvm:

bash

gvm install go1.21.5  # 新版本
gvm use go1.21.5 --default

我推薦使用 Homebrew 方法,因為它簡單可靠,易于管理。如果你需要管理多個 Go 版本,可以選擇 g 或 gvm。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/90189.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/90189.shtml
英文地址,請注明出處:http://en.pswp.cn/web/90189.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

(十九)深入了解 AVFoundation-編輯:使用 AVMutableVideoComposition 實現視頻加水印與圖層合成(上)——理論篇

一、引言在短視頻、Vlog、剪輯工具日益流行的今天&#xff0c;給視頻添加 Logo、水印、時間戳或動態貼紙&#xff0c;已經成為非常常見的功能需求。這類效果看似簡單&#xff0c;其實背后都涉及到“圖層合成”的處理&#xff1a;如何將一個靜態或動態的圖層&#xff08;如文字、…

Android NDK與JNI深度解析

核心概念定義&#xff1a;NDK (Native Development Kit): 是什么&#xff1a; 一套由 Google 提供的工具集合。目的&#xff1a; 允許 Android 開發者使用 C 和 C 等原生&#xff08;Native&#xff09;語言來實現應用程序的部分功能。包含內容&#xff1a; 交叉編譯器&#xf…

Golang各版本特性

1. Go各版本特性 | FeelingLife 2. https://chatgpt.com/share/68808f58-ae5c-800a-8153-5358098f301b 3.https://tonybai.com/2024/11/14/go-map-use-swiss-table/

HTML 轉 Word API 接口

HTML 轉 Word API 接口 支持網頁轉 Word&#xff0c;高效轉換為 Word&#xff0c;提供永久鏈接。 1. 產品功能 超高性能轉換效率&#xff1b;支持將傳遞的 HTML 轉換為 Word&#xff0c;支持 HTML 中的 CSS 格式在 Word 文檔中的呈現&#xff1b;支持傳遞網站的 URL&#xff…

Lucid Search: 極簡、隱私友好的問答式搜索引擎技術解析

Lucid Search: 極簡、隱私友好的問答式搜索引擎技術解析 產品定位與價值主張 Lucid Search 是一款革命性的問答式搜索引擎&#xff0c;其核心價值在于&#xff1a; 極簡體驗&#xff1a;無賬戶、無廣告、前端完全靜態隱私保護&#xff1a;不寫入 Cookie、不記錄 IP、無追蹤即…

卷積神經網絡:模型評估標準

一、分類模型評價指標在模型評估中&#xff0c;有多個標準用于衡量模型的性能&#xff0c;這些標準包括準確率&#xff08;Accuracy&#xff09;、精確率&#xff08;Precision&#xff09;、召回率&#xff08;Recall&#xff09;、F1 分數&#xff08;F1-Score&#xff09;等…

【前端工程化】前端開發中想做好發布管理可以從哪些方面著手?

在企業級后臺系統中&#xff0c;發布管理是整個開發流程的最終環節&#xff0c;也是最為關鍵的一環。它不僅涉及代碼構建完成后的部署操作&#xff0c;還包括版本控制、灰度發布、回滾機制等保障系統穩定性的措施。 本文主要圍繞發布流程設計、版本控制、部署方式、灰度策略和回…

替分布式=成本下降50% !

在數字化轉型的浪潮中&#xff0c;數據庫作為醫療信息系統的“心臟”&#xff0c;其穩定性與效率直接關乎醫療服務的質量。2024年10月30日&#xff0c;綿陽市第三人民醫院集成平臺的CDR數據庫成功從分布式數據庫Citus切換為國產集中式數據庫KingbaseES&#xff0c;并穩定運行至…

【Linux系統編程】基礎指令

基礎指令1. adduser指令&&passwd指令2. userdel指令3. pwd指令4. ls指令5. cd指令6. tree指令7. touch指令8. mkdir指令9. rmdir指令&&rm指令10. man指令11. cp指令12. mv指令13. cat指令14. more指令15. less指令16. head指令17. tail指令18. date指令19. cal…

區塊鏈之以太坊Hardhat開發框架——部署在windows為例

Hardhat 提供了一個靈活且易于使用的開發環境&#xff0c;可以輕松地編寫、測試和部署智能合約。Hardhat還內置了Hardhat 網絡&#xff08;Hardhat Node&#xff09;&#xff0c;它是為開發而設計的本地以太坊網絡。 下面是hardhat的官方文檔 https://hardhat.org/hardhat-ru…

Ubuntu 1804 編譯ffmpeg qsv MediaSDK libva 遇到的問題記錄

之前都是 用的xeon服務器的cpu 不支持intel QSV 硬件加速 最近把自己的 14年買的pc機裝上了ubuntu 1804 然后準備開啟ffmpeg qsv 硬件加速功能 CPU i3-4170 內存DDR3 16G 硬盤機械盤500G 主板ASUS B85M-G首先安裝vainfo工具apt install vainfo裝完提示如下出錯了 網上說是…

Elasticsearch(ES)介紹和安裝

目錄 一、Elasticsearch(ES)介紹 1.為什么需要單獨的搜索服務 2.全文檢索 3.Elasticsearch簡介 1.Elasticsearch的特點 2.應用場景 3.ElasticSearch數據的存儲和搜索原理 二、Elasticsearch(ES)安裝 1、拉取鏡像 2、創建目錄并給目錄賦權 3、創建并編輯配置文件 4、…

html結構解析

<!DOCTYPE html>&#xff1a;聲明為 HTML5 文檔 <html lang"zh-CN">&#xff1a;根元素&#xff0c;指定頁面語言為中文 <meta charset"UTF-8">&#xff1a;設置字符編碼&#xff0c;確保中文正常顯示 <meta name"viewport"…

面試150 最大子數組和

思路 貪心法&#xff1a;設定最小標志result為float(‘-inf’),遍歷一次數組元素進行求和&#xff0c;如果當前元素大于result&#xff0c;則更新result的值&#xff0c;如果sum小于0&#xff0c;則重新置0進行計算&#xff0c;最后返回result class Solution:def maxSubArray(…

MyBatis動態SQL實戰:告別硬編碼,擁抱智能SQL生成

MyBatis動態SQL實戰&#xff1a;告別硬編碼&#xff0c;擁抱智能SQL生成在電商平臺的用戶管理模塊中&#xff0c;需要面對多種不同的用戶查詢組合條件。當使用傳統的硬編碼SQL方式時&#xff0c;代碼膨脹到了2000多行&#xff0c;維護成本極高。而引入MyBatis動態SQL后&#xf…

Web前端開發:JavaScript遍歷方法詳解與對比

1. 傳統 for 循環const arr [10, 20, 30]; for (let i 0; i < arr.length; i) {console.log(索引 ${i}: 值 ${arr[i]}); } // 輸出&#xff1a; // 索引 0: 值 10 // 索引 1: 值 20 // 索引 2: 值 30特點&#xff1a;最基礎的循環&#xff0c;可通過索引精準控制適用場景&…

Python 爬蟲(一):爬蟲偽裝

目錄 1 簡介2 偽裝策略 2.1 Request Headers 問題2.2 IP 限制問題 3 總結 1 簡介 對于一些有一定規模或盈利性質比較強的網站&#xff0c;幾乎都會做一些防爬措施&#xff0c;防爬措施一般來說有兩種&#xff1a;一種是做身份驗證&#xff0c;直接把蟲子擋在了門口&#xff…

TODAY()-WEEKDAY(TODAY(),2)+1

這個Excel公式 TODAY()-WEEKDAY(TODAY(),2)1 用于計算 當前周的周一日期。下面詳細解釋它的邏輯和用法&#xff1a;公式解析TODAY()返回當前日期&#xff08;例如今天是2023年12月20日&#xff0c;則 TODAY() 2023/12/20&#xff09;。WEEKDAY(TODAY(), 2)計算當前日期是星期幾…

Fast Frequency Estimation Algorithm by Least Squares Phase Unwrapping

I. 引言 單個含噪正弦信號的頻率估計是一個研究已久的問題&#xff0c;并有多種應用[1]。在高斯白噪聲假設下&#xff0c;最大似然(ML)頻率估計器是Rife和Boorstyn [2]中提出的周期圖估計器&#xff0c;其中傅里葉變換用于搜索周期圖的最大值。周期圖估計器被廣泛認為是單頻估計…

C語言常見的預定符號常量

C語言常見的預定符號常量C 語言提供了豐富的預定義符號常量&#xff0c;分布在不同頭文件中&#xff0c;用于獲取編譯信息、數值范圍、浮點特性等關鍵信息。以下是常見預定義符號常量的分類總結&#xff1a;一、預定義宏&#xff08;編譯時信息&#xff09;由編譯器自動定義&am…