go语言-在mac下brew升级golang

在命令行下直接运行:

brew upgrade go

补充:mac下更新delve调试go语言

概述

delve 是golang调试程序。但如果版本不配套, mac下goland 调试,step over会不起作用,直接变成执行完毕或者到下一个断点。 需要更新调试器delve解决。

go get安装

mac下安装delve,官方教程是两步。

$ xcode-select --install
xcode-select: error: command line tools are already installed, use "Software Update" to install updates
$ go get -u github.com/derekparker/delve/cmd/dlv

但go get 一直不返回。

homebrew 安装

zhouhh@/Users/zhouhh $ brew install go-delve/delve/delve
Updating Homebrew...
==> Installing delve from go-delve/delve
==> Downloading https://github.com/derekparker/delve/archive/v1.0.0.tar.gz
Already downloaded: /Users/zhouhh/Library/Caches/Homebrew/delve-1.0.0.tar.gz
security: SecKeychainSearchCopyNext: The specified item could not be found in the keychain.
==> Generating dlv-cert
==> openssl req -new -newkey rsa:2048 -x509 -days 3650 -nodes -config dlv-cert.cfg -extensions codesign_reqext -batch -out dlv-cert.cer -keyout dlv-cert.key
==> [SUDO] Installing dlv-cert as root
==> sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain dlv-cert.cer
Last 15 lines from /Users/zhouhh/Library/Logs/Homebrew/delve/02.sudo:
2018-08-09 17:07:38 +0800
sudo
security
add-trusted-cert
-d
-r
trustRoot
-k
/Library/Keychains/System.keychain
dlv-cert.cer
If reporting this issue please do so at (not Homebrew/brew or Homebrew/core):
https://github.com/go-delve/homebrew-delve/issues
These open issues may also help:
Upgrade to delve fails https://github.com/go-delve/homebrew-delve/issues/20
/usr/local/Homebrew/Library/Homebrew/exceptions.rb:426:in `block in dump': undefined method `check_for_bad_install_name_tool' for #<Homebrew::Diagnostic::Checks:0x007fc5df858bd8> (NoMethodError)
Did you mean?  check_for_tap_ruby_files_locations
 from /usr/local/Homebrew/Library/Homebrew/exceptions.rb:425:in `each'
 from /usr/local/Homebrew/Library/Homebrew/exceptions.rb:425:in `dump'
 from /usr/local/Homebrew/Library/Homebrew/brew.rb:138:in `rescue in <main>'
 from /usr/local/Homebrew/Library/Homebrew/brew.rb:30:in `<main>'

这是因为证书有问题。 可以到homebrew缓存下载的delve里处理一下。

zhouhh@/Users/zhouhh $ cd $HOME/Library/Caches/Homebrew
zhouhh@/Users/zhouhh/Library/Caches/Homebrew $ ls del*
delve-1.0.0.tar.gz
zhouhh@/Users/zhouhh/Library/Caches/Homebrew $ tar zxvf delve-1.0.0.tar.gz
zhouhh@/Users/zhouhh/Library/Caches/Homebrew $ sh delve-1.0.0/scripts/gencert.sh
Password:

再安装成功

zhouhh@/Users/zhouhh/Library/Caches/Homebrew $ CGO_ENABLED=1 brew install go-delve/delve/delve
==> Installing delve from go-delve/delve
==> Downloading https://github.com/derekparker/delve/archive/v1.0.0.tar.gz
Already downloaded: /Users/zhouhh/Library/Caches/Homebrew/delve-1.0.0.tar.gz
==> dlv-cert is already installed, no need to create it
==> make build BUILD_SHA=v1.0.0
==> Caveats
If you get "could not launch process: could not fork/exec", you need to try
in a new terminal.
When uninstalling, to remove the dlv-cert certificate, run this command:
    $ sudo security delete-certificate -t -c dlv-cert /Library/Keychains/System.keychain
Alternatively, you may want to delete from the Keychain (with the Imported private key).
==> Summary
🍺  /usr/local/Cellar/delve/1.0.0: 6 files, 10.6MB, built in 13 seconds

安装成功

修改ide环境

安装完最新的 delve 后,如 brew install delve, 然后在IntelliJ或goland中点击

Help → Edit Custom Properties...

添加新行

dlv.path=/usr/local/bin/dlv

保存重启,解决step over(F8) 直接运行完毕的bug。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。

(0)

相关推荐

  • 解决golang时间字符串转time.Time的坑

    字符串转时间一定要通过 time.ParseInLocation 不能直接用Parse todayZero, _ := time.ParseInLocation("2006-01-02", "2019-01-01 15:22:22" time.Local) 如果用了Parse,二者就会存在8小时时间差!!!! 补充:golang 常用的日期方法和时区的坑 import( "time" ) 1.获取当前时间 time.Now(),返回类型:time

  • golang 如何获取map所有key的方式

    最佳方式:根据map的长度,新建一个数组,遍历map逐个压入 方法1(效率很高): func getKeys1(m map[int]int) []int { // 数组默认长度为map长度,后面append时,不需要重新申请内存和拷贝,效率很高 j := 0 keys := make([]int, len(m)) for k := range m { keys[j] = k j++ } return keys } 方法2(效率很高): func getKeys2(m map[int]int) [

  • golang 阻止主goroutine退出的操作

    1:for //使用无线循环 for{ } 如果想退出 for { reutrn } 例如:启动三个 goroutine 等待三个 goroutine 执行结束一下 退出主 goroutine var c bool = false var nums int = 0 for i := 0; i < 3; i++ { go func() { fmt.Println("begin------------end") time.Sleep(10 * time.Second) nums++

  • Golang 实现interface类型转string类型

    看代码吧~ // Strval 获取变量的字符串值 // 浮点型 3.0将会转换成字符串3, "3" // 非数值或字符类型的变量将会被转换成JSON格式字符串 func Strval(value interface{}) string { var key string if value == nil { return key } switch value.(type) { case float64: ft := value.(float64) key = strconv.Format

  • 在golang xorm中使用postgresql的json,array类型的操作

    xorm支持各种关系数据库,最近使用postgresql时,总是踩到一些坑,在此记录下解决方式. 在使用postgresql的array类型时,查询有点问题,xorm的官方文档给出重写的方式,但是不是很清晰: 官方文档链接:http://xorm.io/docs 也就是说碰到基础库不支持的类型,需要我们去重写ToDB.FromDB方法,废话不多说直接上代码: 比如int8[]类型,自定一个Int64Array type Int64Array []int64 func (s *Int64Array

  • golang 后台进程的启动和停止操作

    启动命令 我们先来个非后台运行的启动命令 func init() { startCmd := &cobra.Command{ Use: "start", Short: "Start Gonne", Run: func(cmd *cobra.Command, args []string) { startHttp() }, } startCmd.Flags().BoolVarP(&daemon, "deamon", "d&q

  • go语言-在mac下brew升级golang

    在命令行下直接运行: brew upgrade go 补充:mac下更新delve调试go语言 概述 delve 是golang调试程序.但如果版本不配套, mac下goland 调试,step over会不起作用,直接变成执行完毕或者到下一个断点. 需要更新调试器delve解决. go get安装 mac下安装delve,官方教程是两步. $ xcode-select --install xcode-select: error: command line tools are already i

  • Mac上将brew安装的MySql改用Docker执行操作过程

    docker是最近大热的技术,堪称技术界的网红.本着技术人折腾的本性,尝试将本地的MySql服务器改成用docker执行,本文记录折腾过程,以作备忘. 步骤如下: 1:安装docker 自己找文档去 2:使用mysql官方发布的docker image,命令如下 docker pull mysql/mysql-server:5.7.16 ##(这是本文发布时候MySql最新稳定版,并且最好和本地的Mysql版本一致,否则第三步可能会有问题.) 因为GFW的缘故,这个过程有点漫长.命令执行完之后,

  • mac下golang安装了windows编译环境后编译变慢

    和同事协作开发golang项目的时候,同事是在windows平台上进行开发,一运行项目发现报错.后来在mac环境下面尝试调试,安装了windows的编译环境: 复制代码 代码如下: $ cd /usr/local/go/src/ $ sudo CGO_ENABLED=0 GOOS=windows GOARCH=amd64 ./make.bash 调试后发现原来是windows下是不支持fcntl,真是郁闷非常.后来在开发的时候发现mac下的编译测试包也明显变慢了,原来1,2秒就可以编译好了,现在

  • Mac下Vs code配置Go语言环境的详细过程

    背景:最近受朋友介绍,学习Go语言.那么开始吧,首先从配置环境开始. 电脑:Mac Air,Vs code已经安装 一.Go下载和安装 下载地址:https://golang.google.cn/dl/ Mac版选择pkg,下载就可以直接安装了.其他类似操作,具体也可查找相关信息 二.验证版本 命令行: go version 显示安装版本,就正式完成了 三.Vs code配置Go环境 1.Go开发扩展 在Vs code 扩展直接搜索Go,进行安装即可 2.VS code中的Go工具 Vs cod

  • mac下使用brew 安装mongodb的方法教程

    mac 系统常用的软件安装工具就是 homebrew 个人认为通过brew安装比较简单,下面介绍下如何安装 安装 mongodb wenxuezhangdeMacBook-Pro:~ wenxuezhang$ brew install mongodb 此图说明已经安装成功,安装的目录就是 /usr/local/Cellar/mongodb/3.2.9 第一次启动服务端,这里需要做一些准备工作. 默认mongodb 数据文件是放到根目录 data/db 文件夹下,如果没有这个文件,请自行创建. w

  • Mac下通过brew安装指定版本的nodejs教程

    一.安装brew 终端上运行 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 二.安装nodejs 运行brew install node 即可,但是这样安装的node是最新node,本人安装后是node6.X,node6.X对一些就模块已经不支持了,比如graceful-fs,导致安装一些包的时候,无法运行,就会出现类似 (node:7

  • mac下安装golang框架iris的方法

    安装前准备: 设置GOPROXY代理 参考:https://goproxy.cn/ 我使用的是下面的两条命令: $ go env -w GO111MODULE=on $ go env -w GOPROXY=https://goproxy.cn,direct 我的go env信息: % go env GO111MODULE="on" GOARCH="amd64" GOBIN="" GOCACHE="/Users/mac/Library/C

  • mac下安装和配置mongodb的步骤详解

    MongoDB是什么 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. 他的特点:高性能.易部署.易使用,存储数据非常方便. 本文主要给大家介绍了在mac下安装和配置mongodb的步骤,分享出来供大家参考学习,下面话不多说,来一起看看详细的介绍: 备注:本文相关源码可在文末下载! 安装 mongodb install 之前,iTerm2 下用 brew 查看已安装软件.搜索 mongodb: brew list brew s

  • mac下安装nginx和php

    一.前话:1.1.环境选择:重新在mac上配置php,原本mac上就自带有apach.php以及pgsql,如果图简单的话,直接用就可以了,不过在安装前我仔细思考了一下几个问题:选apache还是nginx:两个我了解的都比较少,相对而言我接触nginx比较多,服务器用的也是nginx,没办法谁叫nginx负载高呢.为了更好的接触nginx的环境,我决定还是统一下环境,方便今后使用,这是这次的主要关键:安装php:Mac os自带了php,好像是5.3.8,版本比较落后,不过这不碍事,因为以前我

  • mac下如何将python2.7改为python3

    1.查看当前电脑python版本 python -V  // 显示2.7.x 2.用brew升级python brew update python  3.如果安装成功,去系统目录下回看到两个版本的python cd usr/local/Cellar/ //到此目录下 cd python/ //进入python目录下 查看已安装的python版本,如果有2.x 和 3.x说明安装成功 4.将系统python版本,默认指向python3  (主要修改 ~/.bash_profile文件 和 ~/.b

随机推荐