• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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。

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

    您可能感兴趣的文章:
    • golang 后台进程的启动和停止操作
    • golang 阻止主goroutine退出的操作
    • 在golang xorm中使用postgresql的json,array类型的操作
    • 解决golang时间字符串转time.Time的坑
    • golang 如何获取map所有key的方式
    • Golang 实现interface类型转string类型
    上一篇:go原生库的中bytes.Buffer用法
    下一篇:Golang 正则匹配效率详解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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