Mac安装Golang和vscode

待兔 等级 674 0 0

Mac第一次安装golang和vscode一起使用,遇到了不少的坑,下面介绍一下正确的安装方式。

1、使用brew安装Golang

如果不知道brew是什么,或怎么安装请看这里 brew官网

brew install golang 

安装完成后可以使用 brew info go查看详情

LiangdeMacBook-Pro:bin liangbo$ brew info go
go: stable 1.11.2 (bottled), HEAD
Open source programming language to build simple/reliable/efficient software
https://golang.org
/usr/local/Cellar/go/1.11.2 (9,282 files, 404MB) *
  Poured from bottle on 2018-12-03 at 17:30:25
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/go.rb
==> Requirements
Required: macOS >= 10.10 ✔
==> Options
--HEAD
    Install HEAD version
==> Caveats
A valid GOPATH is required to use the `go get` command.
If $GOPATH is not specified, $HOME/go will be used by default:
  https://golang.org/doc/code.html#GOPATH

You may wish to add the GOROOT-based install location to your PATH:
  export PATH=$PATH:/usr/local/opt/go/libexec/bin
==> Analytics
install: 90,997 (30 days), 251,942 (90 days), 954,291 (365 days)
install_on_request: 64,631 (30 days), 178,671 (90 days), 610,317 (365 days)
build_error: 0 (30 days) 

1.2 Golang环境变量

有提到环境变量,看一下go的环境变量怎么配置

  • GOPATH 工作空间目录,以我本机为例:/Users/liangbo/Documents/work/go_work
  • GOROOT GO安装目录,以上信息中为 /usr/local/opt/go/libexec

Mac环境的环境变量设置在vim ~/.bash_profile,在文件尾部添加

#GOROOT
export GOROOT=/usr/local/opt/go/libexec

#GOPATH WORKSPACE
export GOPATH=~/Documents/work/go_work

#GOROOT BIN
export PATH=$PATH:$GOROOT/bin

#GOPATH BIN
export PATH=$PATH:$GOPATH/bin 

设置完成后 执行 source ~/.bash_profile 生效
查看 go env

LiangdeMacBook-Pro:go_work liangbo$ go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/liangbo/Library/Caches/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/liangbo/Documents/work/go_work"
GOPROXY=""
GORACE=""
GOROOT="/usr/local/Cellar/go/1.11.2/libexec"
GOTMPDIR=""
GOTOOLDIR="/usr/local/Cellar/go/1.11.2/libexec/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/4t/rrdtjpp9487_6gf8mclrslpm0000gn/T/go-build714070253=/tmp/go-build -gno-record-gcc-switches -fno-common" 

2、安装vscode

brew cask install visual-studio-code 

2.2 vscode中Go的相关插件安装

由于网络原因可能无法下载的解决方案

  1. 进入cd $GOPATH/src/github.com/golang,如果没有目录就手动创建
  2. 下载插件 git clone https://github.com/golang/tools.git tools,下载完后,会多一个tools目录
git clone https://github.com/golang/tools.git tools 
  1. 将tools拷贝到 $GOPATH/src/golang.org/x/tools,Mac命令如下
# 将tools目录复制到$GOPATH/src/golang.org/x下
cp -r $GOPATH/src/github.com/golang/tools $GOPATH/src/golang.org/x/ 
  1. 接下来可以安装无法安装的插件,需要切换到cd $GOPATH目录,使用 go install安装:
  • go install github.com/ramya-rao-a/go-outline
  • go install golang.org/x/tools/cmd/guru
  • ......
    只要提示你哪个无法安装的就以这种形式安装
  1. golang.org/x不止tools,还有其它的工具,如果提示无法下载,还可以直接下载:
cd $GOPATH/src/golang.org/x
git clone https://github.com/golang/text.git 

比如我本机上

LiangdeMacBook-Pro:x liangbo$ ls -l
total 0
drwxr-xr-x  43 liangbo  staff  1376 12  3 12:41 crypto
drwxr-xr-x  12 liangbo  staff   384 12  3 16:31 lint
drwxr-xr-x  34 liangbo  staff  1088 12  1 14:45 net
drwxr-xr-x  16 liangbo  staff   512 12  3 14:29 sys
drwxr-xr-x  33 liangbo  staff  1056 12  3 12:39 text
drwxr-xr-x  25 liangbo  staff   800 12  3 11:28 tools 

基本上都是手动下载

git clone https://github.com/golang/text.git
git clone https://github.com/golang/sys.git
git clone https://github.com/golang/lint.git
git clone https://github.com/golang/crypto.git 

3、安装golang debug插件delve

  • mac上不能直接使用 go get 安装,否则无法执行调试
  • 使用brew install go-delve/delve/delve 或 手动安装

使用brew 安装找不到包,不太清楚原因

Error: No available formula with the name "go-delve/delve/delve" 
==> Searching for a previously deleted formula (in the last month)...
Error: No previously deleted formula found.
==> Searching for similarly named formulae...
Error: No similarly named formulae found. 

3.1 选择手动安装

需要安装Xcode命令行工具。运行以下命令安装:

xcode-select --install 

创建证书

  • 打开钥匙串访问;
  • 菜单栏中选择钥匙串访问-证书助理-创建证书开始创建自签名证书;
  • 证书名称设置为dlv-cert(记住这个名字,后面会用到);身份类型选择自签名根证书;证书类型选择代码签名,最后在让我覆盖这些默认值处打上勾,选择继续;
  • 在接下来的窗口中把有效期改长一些,例如改成10年(3650天);
  • 然后一直往后,直到出现选择指定用于该证书的位置,选择钥匙串系统,然后选择创建;
  • 这样证书就创建好了。

3.2 下载源码

进入 $GOPATH/src/github.com/derekparker,或许你已经使用go get 安装过delve,那么这个目录已经存在了,如果没有的话需要创建目录

  • 假如存在的话直接进入
cd $GOPATH/src/github.com/derekparker/delve
git pull origin master # 拉取最新 

假如不存在的话

mkdir -p $GOPATH/src/github.com/derekparker
cd $GOPATH/src/github.com/derekparker
git clone https://github.com/derekparker/delve.git
cd delve 

以上两种情况下,最后执行 CERT=dlv-cert make install

[LiangdeMacBook-Pro:delve liangbo$ CERT=dlv-cert make install
go install "-ldflags=-s -X main.Build=34e802a42b9dc3ba3c4a513b50e9eec6afedcdf2" github.com/derekparker/delve/cmd/dlv 

4、vscode测试

go项目必须以工作空间方式打开

WX20181204-145856@2x.png

执行调试

WX20181204-150100@2x.png

4.1 Launch.json

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Launch", // 名称可以随意写
            "type": "go", 
            "request": "launch",
            "mode": "auto",
            "program": "${fileDirname}",  
            "env": {},
            "args": [],
            "showLog": true,
            "host": "127.0.0.1",
            "port": 23456,
            "trace": true
        }
    ]
} 
  • name 随意配置;
  • port 只要不是常用的端口,应该就不会存在冲突了,随意配置;
  • program 配置Go项目启动文件路径,即main函数所在的.go文件的路径,${workspaceRoot}代表项目的根目录,也就是 /bin /pkg /src这三个文件夹所在的目录;
  • env 可以用来配置调试启动时所用的环境变量参数,比如gopath临时设置为某个参数就可以在这里指定,如果有多个gopath,用英文冒号:来连接多个gopath;
  • showLog true表示在控制台显示日志
  • trace 可以打印Delve执行的日志,在控制台会输出这个日志的目录

https://golang.org/doc/code.html#GOPATH

收藏
评论区

相关推荐

godoc 命令和 golang 代码文档管理
介绍 godoc 是 golang 自带的文档查看器,更多的提供部署服务 go doc 和 godoc 在 golang 1.13 被移除了,可以自行安装 golang.org go1.13 godoc(https://links.jianshu.com/go?tohttps%3A%2F%2Fgolang.org%2Fdoc%2Fg
Mac安装Golang和vscode
Mac第一次安装golang和vscode一起使用,遇到了不少的坑,下面介绍一下正确的安装方式。 1、使用brew安装Golang 如果不知道brew是什么,或怎么安装请看这里 brew官网(https://brew.sh/index_zhcn) brew install golang 安装完成后可以使用
golang 分析调试高阶技巧
layout: post title: “golang 调试高阶技巧” date: 2020603 1:44:09 0800 categories: golang GC 垃圾回收 golang 高阶调试 Golang tools nm compile
Go语言入门系列(一)之Go的安装和使用
1.安装环境 ====== 1. 进入[Golang官网](https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fgolang.org),进入下载页面。 (如果打不开可访问[Golang中国](https://www.oschina.net/action/GoToLink?u
vscode 配置golang环境
go 下载 [https://studygolang.com/dl](https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fstudygolang.com%2Fdl),国内下载,国外的被墙了,你懂的 ![](https://oscimg.oschina.net/oscnet/774329e48
ubuntu中使用VsCode+Eigen创建Eiegn应用程序
Visual studio code是微软发布的一个运行于 Mac OS X、Windows和 Linux 之上的,针对于编写现代 Web 和云应用的跨平台源代码编辑器。 1\. VsCode安装 ============ VScode官网下载.deb文件,网址链接如下:[https://code.visualstudio.com/#alt-downlo
Archlinux下Visual Studio Code配置Golang开发环境
一、Golang的安装 ----------- GoLang安装并验证一下: [cox@localhost ~]$ sudo pacman -S go [cox@localhost ~]$ go version go version go1.8.3 linux/amd64s 要注意,Golang的安装要确保两个环境变量,一个是G
Golang Gin实践 番外 请入门 Makefile
<h1>Golang Gin实践 番外 请入门 Makefile</h1> <p>原文地址:<a href="https://github.com/EDDYCJY/blog/blob/master/golang/gin/2018-08-26-Gin%E5%AE%9E%E8%B7%B5-%E7%95%AA%E5%A4%96-%E8%AF%B7%E5%85%A5
Golang In PingCAP
随着 Golang 在后端领域越来越流行,有越来越多的公司选择 Golang 作为主力开发语言。本次 GopherChina Beijing 2016 大会上,看到 Golang 在各家公司从人工智能到自动运维,从 Web 应用到基础架构都发挥着越来越多的作用。可以说 Golang 在这几年间,获得了长足的进步。 PingCAP 是一家由几名 Go
Golang Kernel For Jupyter
上篇回顾:[VSCode and NoteBook for JavaScript](https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fwww.cnblogs.com%2Fdotnetcrazy%2Fp%2F9962192.html) ### 正常流程 安装Go语言:**sudo apt i
Golang 开发环境搭建
Golang 是 Google 发布的开发语言,Go 编译的程序速度可以媲美 C/C++。 安装 -- sudo apt-get install golang sudo apt-get install golang-go.tools 使用 -- * 编译运行程序 go run main.go * 查看命令文
Golang依赖管理工具:glide从入门到精通使用
介绍 -- 不论是开发Java还是你正在学习的Golang,都会遇到**依赖管理**问题。Java有牛逼轰轰的Maven和Gradle。 Golang亦有godep、govendor、glide、gvt、gopack等等,本文主要给大家介绍[gilde](https://www.oschina.net/action/GoToLink?url=https%3
M1 Mac Golang性能压力测试
测试环境:macbook pro 13,  M1 16G 512G golang release里没有m1的版本,下载x86和arm版运行提示不可用,arm版直接报错,x86 golang二进制文件运行后一直hang住,没有任何提示。go官方博客中说1.16的版本会支持mac m1,但1.16的正式版是2021年的2月份,预计会提前先放出几版beta测试版
Mac下安装golang
前言:越来越多人开始走学习golang之路,包括我身边的一些技术同事给自己“充电”新技术,能在未来工作中更好的生存发展。 个人使用Mac环境,下面大概简述一安装过程: 一、准备工作 官网下载安装包: 备注:目前最新稳定版本是v1.9 开发工具包又分为安装版和压缩版。安装版是Mac和Windows特有的,他们的名字类似于: go1.9.darwin
Mac下配置Golang环境
**1.go的官网:https://golang.org/**  下载地址:https://golang.org/dl/  ps:因为windows的影响我用的apk版本的安装比较简单,后面也会介绍环境变量的配置同样是apk安装的前提. ![](https://oscimg.oschina.net/oscnet/a87e53ebcaa5b1f5e34a