V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
yagamil
V2EX  ›  Go 编程语言

不同版本的 go 如何快速切换?

  •  
  •   yagamil · 2023-03-04 03:14:43 +08:00 · 2947 次点击
    这是一个创建于 648 天前的主题,其中的信息可能已经有所发展或是发生改变。

    主要主力语言不是 go ,平时开发的没有用到最新的。 然后 github 拉下来的要求 go1.18 或者更高,那么我有什么办法建一个 go 更高版本? 可以在旧版和新版之间来回切换。

    13 条回复    2023-03-07 14:12:34 +08:00
    laizenan
        1
    laizenan  
       2023-03-04 05:11:19 +08:00
    zzyphp111
        2
    zzyphp111  
       2023-03-04 08:52:39 +08:00 via iPhone
    在 mac 中建议 brew 来切量很方便,快捷,所有版本可以秒切

    brew install [email protected]
    brew link [email protected]

    go env

    不用了直接再:
    brew unlink [email protected]

    列出来的内容全是你期望的。
    foam
        3
    foam  
       2023-03-04 08:55:20 +08:00 via Android
    我用的 gvm 。还不错
    sunwei0325
        4
    sunwei0325  
       2023-03-04 09:42:27 +08:00   ❤️ 1
    https://go.dev/doc/manage-install

    go install golang.org/dl/go1.18@latest
    go1.18 download
    go1.18 version
    houshuu
        5
    houshuu  
       2023-03-04 10:10:06 +08:00
    goland 自带管理的, 我现在都直接直接用 goland 下载旧版本, 新版本用 brew 保持更新
    chaleaochexist
        6
    chaleaochexist  
       2023-03-04 10:51:19 +08:00
    其实不需要切换.
    go 向前兼容
    直接下载最新版本
    用 go.mod 约定就可以了.

    和 java 类似.
    yagamil
        7
    yagamil  
    OP
       2023-03-04 11:16:31 +08:00
    @chaleaochexist 旧版的用的 go path 管理的好像会有很多问题吧?
    hhjswf
        8
    hhjswf  
       2023-03-04 12:42:31 +08:00 via Android
    什么,这玩意不向下兼容吗
    skywalkerfc
        9
    skywalkerfc  
       2023-03-04 13:06:59 +08:00
    现在用的,感觉还是蛮方便的 https://github.com/owenthereal/goup
    starck
        10
    starck  
       2023-03-04 14:48:30 +08:00 via iPhone
    @sunwei0325 正解
    hopingtop
        11
    hopingtop  
       2023-03-04 20:29:59 +08:00   ❤️ 1
    楼上有说向下兼容的朋友,使用最新版本并不是一个好的方案。
    需要考虑一个问题:
    假设项目是 go mod 1.17
    然后你使用了 go 1.19 的版本使用了一个 1.19 的方法 比如 url.JoinPath(). 那么在你的环境使用完全没有问题,别人使用就会有问题(这个问题当然可以借助自动构建检查出来)。

    所以涉及到更改的,最好是与 go mod 的版本一致,避免不必要的麻烦。
    yangchnet
        12
    yangchnet  
       2023-03-04 21:27:02 +08:00
    asdf
    voidmnwzp
        13
    voidmnwzp  
       2023-03-07 14:12:34 +08:00
    用 goland 切
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3243 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 10:37 · PVG 18:37 · LAX 02:37 · JFK 05:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.