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

公司要用 win 作为 go 的开发环境,但是用惯了 mac,怎么办?

  •  
  •   DelayNoMay · 347 天前 · 17238 次点击
    这是一个创建于 347 天前的主题,其中的信息可能已经有所发展或是发生改变。

    可以用 win 虚拟出 mac 作为开发环境吗,公司电脑配置还挺高的,12 代 i9 处理器,64g 内存

    134 条回复    2023-12-04 17:39:59 +08:00
    1  2  
    proxytoworld
        1
    proxytoworld  
       347 天前   ❤️ 4
    wsl
    baihekong
        2
    baihekong  
       347 天前
    我用苹果笔记本都是配合 Linux 虚拟机开发的,Windows 上也用虚拟机就是了
    AoEiuV020JP
        3
    AoEiuV020JP  
       347 天前
    巧了,我最近也在折腾 win 虚拟 mac ,
    要么只有低版本,要么安装错误,折腾几天了,
    最终的方案是,win -> hyperv -> pve -> macos sonoma,
    试了一下就放弃了,不是因为太卡,主要是应用空白闪退,我是想试试 flutter 在 mac 上的表现,结果本地应用一片空白,store 应用直接闪退,搞不懂,想买个 mac mini 又觉得没需求,我只是想测试一下 flutter demo 啊,
    loshine1992
        4
    loshine1992  
       347 天前
    wsl +1
    BeautifulSoap
        5
    BeautifulSoap  
       347 天前 via Android
    直接 wsl2 不就好了,折腾 mac 虚拟机实属没有必要
    Morriaty
        6
    Morriaty  
       347 天前   ❤️ 1
    开发环境不就是装个 IDE ,剩下的的都交给 IDE 吗🤣又不是调试和部署
    Nasei
        7
    Nasei  
       347 天前   ❤️ 9
    出来看看外面的世界吧。。。
    tylinux
        8
    tylinux  
       347 天前   ❤️ 1
    这种事你们可以花点儿钱嘛!花点儿!花不了多少钱!.gif
    Richardhtw
        9
    Richardhtw  
       347 天前
    直接 wsl2
    opengps
        10
    opengps  
       347 天前   ❤️ 1
    申请使用自己电脑办公(能要补贴要补贴)
    zfy941
        11
    zfy941  
       347 天前
    虚拟 Mac 不如上黑苹果 12 代也是可以黑的 只需要一个 AMD 免驱显卡
    murmur
        12
    murmur  
       347 天前
    go 挺好的,不是有 goland 么
    murmur
        13
    murmur  
       347 天前   ❤️ 13
    听你们领导的,他如果认为 go 可以在 windows 开发,那就是没有跨平台的兼容问题或者他能解决

    都 i9+64g 了,真 tm 矫情
    aibx01
        14
    aibx01  
       347 天前
    刚整个双系统,挺香的。内存 硬盘随便加
    ysc3839
        15
    ysc3839  
       347 天前 via Android
    可以用 VMware 虚拟 macOS ,但是没有 GPU 加速,GUI 会很卡,但只是 ssh 连上去开发的话问题不大。
    monkeyzsf
        16
    monkeyzsf  
       347 天前
    黑苹果+win 双系统是最优解
    root71370
        17
    root71370  
       347 天前   ❤️ 1
    win 怎么了, 我一直在 win 开发 go
    adoal
        18
    adoal  
       347 天前
    换个工作,把这个苦逼职位留给想在 win 下用 go 开发的人
    houshuu
        19
    houshuu  
       347 天前 via iPhone
    go 在 win 下有什么不舒服的吗?
    我两个平台都用,goland 一装几乎完全一样啊。
    WeaponXu
        20
    WeaponXu  
       347 天前
    以前我也喜欢 linux ,Mac 作为开发系统,现在 Windows 的 wsl 和 powershell 等已经发展的很好了,安装 docker 也无压力,Windows 其他软件的适配也很广泛,一把梭了。Mac 对我现在毫无吸引力,建议好好尝试下现在的 Windows 开发环境。
    duluosheng
        21
    duluosheng  
       347 天前
    我是 10 代 i7 + 64G, Windows 台式机。WSL2 或者虚拟机就解决了。
    wanniwa
        22
    wanniwa  
       347 天前
    没必要,这么高的配置装点模拟 mac 操作的一些软件就足够了,就开发个代码,哪来那么多区别。
    gitxuzan
        23
    gitxuzan  
       347 天前
    工具,要自己适应,这么高的配置,windows 上不随便玩,win 上能做的,mac 上开发 go 也能做
    ysc3839
        24
    ysc3839  
       347 天前 via Android
    @AoEiuV020JP VMware (非 Hyper-V 共存模式) 破解后直接安装就行了,KVM 也有相关方案,Hyper-V 应该是不可行。
    主要难点其实是怎么弄个可引导镜像,之前我用的方法好像是用 https://github.com/corpnewt/gibMacOS 下载 Recovery 镜像,转换成 vmdk 启动 (因为 dmg 是硬盘镜像,只能转换成同为硬盘镜像的 vmdk),然后在线安装。印象中当时 gibMacOS 下载不到完整版系统了,只能这么做。
    kiwi95
        25
    kiwi95  
       347 天前 via Android
    wsl2+vscode 开发 golang 比 Mac 还舒服
    ShadowPower
        26
    ShadowPower  
       347 天前   ❤️ 3
    按公司的要求来就好了,只要全公司采用一样的开发环境,开发的方方面面其实都是围绕着这套环境去建设的。
    各种坑都会有人帮你踩,与大多数人不一致的环境才是最折腾的。

    如今全 Mac 的后端开发环境往往会搭配个人专属的 Linux 开发机,自己的电脑只是一台可以本地运行 IM/办公软件/浏览器/SSH 的瘦客户机。
    xxx2023
        27
    xxx2023  
       347 天前   ❤️ 1
    当然是辞职了
    jim9606
        28
    jim9606  
       347 天前 via Android   ❤️ 4
    私以为搞后端的喜欢用 mac 是因为 mac 比 win 更像 linux ,但这俩都不是 linux,连 like 都不算。
    wsl2 可是无可争议的 linux,所以还想用 mac 得找别的理由了。
    laminux29
        29
    laminux29  
       347 天前
    在哪个平台部署运行,最好就在那个平台开发,来减少跨平台带来的一大堆兼容性问题。
    shimanooo
        30
    shimanooo  
       347 天前
    这事情的关键是公司用 Win 家里用 Mac 来回切换,快捷键差异让人精神分裂吧。

    至于运行环境是 WSL-Linux/NT/Darwin 都无所谓吧。不都是 IDE 里写好了一键 build 或者 Terminal 里 make 么,然后运行看日志等等么。
    kawaiidora
        31
    kawaiidora  
       347 天前 via Android   ❤️ 2
    建议辞职,把工作让给需要的人
    xiaoxuan6
        32
    xiaoxuan6  
       347 天前
    i7+8g 路过,一样开发 go 都能起飞,你这都 i9+64g 了还要啥自行车
    kawaiidora
        33
    kawaiidora  
       347 天前 via Android
    不过公司怎么没采购 7950x ,是采购没有 AMD 的货?
    ShadowPower
        34
    ShadowPower  
       347 天前   ❤️ 15
    我觉得应该给楼主快速介绍一下 WSL 好在哪:
    1. 能运行真正的 Linux 可执行程序
    2. 可以使用 Linux 内核特有的特性
    3. 与 Linux 完全等效的命令用法
    4. 它就是真正的 Linux ,调通了直接上生产
    5. 老板不会同意把生产环境的服务器换成 macOS 系统

    一些误区:
    1. WSL 性能很差
    有一份包含 130 个项目的性能测试结果:
    https://www.phoronix.com/review/windows11-wsl2-good/5
    WSL 拥有裸机 Linux 94%的综合性能

    2. WSL 的环境跟 Windows 割裂,还没虚拟机好用
    现在的 JetBrains 和 VSCode 都有针对 WSL 远程开发调试的支持,减少了很多额外的工作

    3. WSL 用一段时间就内存/硬盘干爆了,程序直接崩掉
    在 Windows 11 23H2 更新以后,可以开启自动回收内存和硬盘空间了
    其实 64GB 内存本来也不怎么需要关心这个问题,16GB 和以下可能需要担心

    4. 和 Windows 网络割裂
    在 Windows 11 23H2 更新以后,可以设置网络互通。两个环境 IP 相同,支持 IPv6 ,从其他电脑上也可以直接访问 WSL 上的服务

    一个关于 Windows 的误区:
    Command+C 复制是优势
    和 Linux 桌面比可能是这样
    其实 Windows 的终端可以用 Ctrl+C 复制,有个前提条件:处于选择状态

    快捷键之类的,其实用半天就习惯了。


    在 Windows 上装虚拟机 macOS 没有多少好处,问题还不少。而且如果不是笔记本形态的设备,用 macOS 几乎体会不到什么优势。
    Jungeer
        35
    Jungeer  
       347 天前
    我直接用 win 开发了 我们也是需要用 win 系统 因为要做客户端 各种 cgo 什么的
    hallDrawnel
        36
    hallDrawnel  
       347 天前   ❤️ 1
    建议不要 WSL ,直接 win 本地开发, 尝试一下 powershell ,很牛逼的!然后配置下 oh my powsh ,爽上天。Windows 现在的使用体验,要我说好过 macOS 。
    yuankui
        37
    yuankui  
       347 天前
    这啥消费降级了吗?
    roycestevie6761
        38
    roycestevie6761  
       347 天前
    上次在 ubuntu23 用 goland 一直闪退,迫不得已到 windows 下用 goland ,如果没有 ide 没有兼容问题在哪个操作系统上搞都一样啊
    Jony4Fun
        39
    Jony4Fun  
       347 天前
    https://github.com/sickcodes/Docker-OSX

    正好今天看到,不过没折腾过,OP 可以试试哈!
    stinkytofu
        40
    stinkytofu  
       347 天前
    @ShadowPower #34 WSL 磁盘性能怎么样?
    iwdmb
        41
    iwdmb  
       347 天前
    Windows + SSH + Ubuntu Server VM 目前就是这样开发
    ShadowPower
        42
    ShadowPower  
       347 天前
    @stinkytofu 在 vhdx 或者挂载物理硬盘的性能很强
    访问 windows 里的文件就很弱了,走 smb 或者 nfs 能和 wsl1 的水平差不多
    aresyang
        43
    aresyang  
       347 天前 via Android
    windows 是最好的 unix os :( wsl2
    mahaoqu
        44
    mahaoqu  
       347 天前
    推荐 WSL 的没抓住重点啊,macOS 开发体验好的部分不在于 IDE 和 Shell ,其实来源于那些工具软件。比如说我喜欢 Bear ,Arc 浏览器,一些标题栏小组件之类,这些 Windows 上没有替代品。其他的和 iOS App 同步就不说了,已经是经典跨平台痛点。

    当然我还是选 Win 了,毕竟能跑 Visual Studio 。。。
    way2explore2
        45
    way2explore2  
       347 天前
    那些楼上提议虚拟机的,为什么好端端原声性能不要,要虚拟性能!
    甚至有人提议用破解版 VMare ,难道你们公司允许随便用破解软件,难道忘了 XhostGhost / UnityGhost ?


    所以建议,
    - 要么换工作,
    - 要么用 Win ,不管是否用 WSL

    虚拟机,甚至破解版虚拟机,请不要用!!!
    124552mo
        46
    124552mo  
       347 天前 via Android
    我怎么不能发帖
    lin07hui
        47
    lin07hui  
       347 天前
    powershell7 + oh my powsh 比 macos 的 oh my zsh 爽
    macaodoll
        48
    macaodoll  
       347 天前 via Android
    机器给你了,自己装个 linux 不就 OK 了?
    choury
        49
    choury  
       347 天前 via Android
    用垃圾 Windows/Android/国内公司也能忍?那比得上高贵的 Mac/iPhone/美利坚公司,赶紧辞职跑路啊
    mooyo
        50
    mooyo  
       347 天前
    Windows 的开发体验确实很垃圾,虚拟机然后 vscode ssh 进去吧
    mooyo
        51
    mooyo  
       347 天前
    @mooyo 虚拟机起 linux 。 楼上的不用辩,win 下开发体验就是很垃圾。。甚至不如起个虚拟机
    ghostwind
        52
    ghostwind  
       347 天前
    win 怎么了, 我一直在 win 开发 go 甚至不用虚拟机....
    mooyo
        53
    mooyo  
       347 天前
    @mooyo #51 虚拟机可以用 hyperv 起,你要是说你们公司给配的家庭版然后现在嫌弃用盗版 VMware ,那我没话可说。。
    androids
        54
    androids  
       347 天前
    要么换人,要么换电脑
    Dragonphy
        55
    Dragonphy  
       347 天前
    用自己电脑呗,补贴一般是针对新电脑,得有发票,估计够呛
    kzj115
        56
    kzj115  
       347 天前
    要么换人,要么换电脑
    Biggoldfish
        57
    Biggoldfish  
       347 天前 via Android
    建议辞职

    钱给够了我这天天一边吐槽一边用 Mac 上班
    des
        58
    des  
       347 天前 via iPhone
    @ShadowPower 建议来体验一下 orbstack ,绝对好用
    yuyanglive
        59
    yuyanglive  
       347 天前
    wsl2
    androids
        60
    androids  
       347 天前
    我用惯了 AMD 芯片,AMD 显卡,但是公司配的是 Intel 芯片,NVIDIA 显卡,怎么办?
    yangxin0
        61
    yangxin0  
       347 天前
    自己买一台 mac 呗。。。然后在公司入域
    ikaros
        62
    ikaros  
       347 天前   ❤️ 1
    同,我上班写了几年 go 都是 Windows ,单就 golang 开发来说,个人项目用 mac 也没觉得有哪点比 Windows 好用,不能适应的话建议辞职
    version
        63
    version  
       347 天前   ❤️ 1
    远离 mac 吧..现在说真的.软件越来越少..啥都是刀付费机制..
    wsl 没啥不行得..剩下都是云编译
    Vegetable
        64
    Vegetable  
       347 天前
    开发 Go 在 windows 下不是挺爽的吗?不明白痛点在哪,go 基本没有任何环境问题,顶多就是 docker 查点意思。
    robot1
        65
    robot1  
       347 天前
    @ShadowPower #34 macos 大部分文本编辑框都可以使用 ctrl + a, e, f, b, ctrl+n, p 代替 left/right 等(emacs 键位)。vscode 使用 vim 的话大部分快捷键要让出 ctrl ,因为系统要用。
    xinyu391
        66
    xinyu391  
       347 天前
    入乡随俗,随不了俗,就换地
    zichy
        67
    zichy  
       347 天前   ❤️ 2
    当然是辞职,哪能受这委屈
    ShadowPower
        68
    ShadowPower  
       347 天前
    @robot1 我不习惯 emacs 键位,所以几乎没有用过这个快捷键……
    linauror
        69
    linauror  
       347 天前
    楼主公司应该不是说只能在 win 下开发 go 吧,看起来是不愿意给员工配 mac 电脑。go 这种在服务器上编译运行即可,在哪种系统上开发倒区别不大,甚至都支持交叉编译
    dif
        70
    dif  
       347 天前
    go 还在新手期,没觉得 mac 和 win 有什么太大的区别,对比 python 这种 win 下动不动装不了模块得问题,我觉得 go 和 java 应该差不多,几乎可以无缝切换。无非快捷键有点差别罢了。
    cabbage
        71
    cabbage  
       347 天前 via Android   ❤️ 1
    啊怎么 Go 不是官方支持原生 Windows ?咋楼上又是虚拟机又是 wsl 的,正经 gopher 谁要上虚拟机,这么一大堆官方支持的平台在这呢。当然如果是搞 cgo 或者客户端开发除外,再说公司给配 64g 内存还不香吗,给配 mac 可能就只有 8g 16g 这样子
    lbunderway
        72
    lbunderway  
       347 天前
    安逸啥 win+wsl 游戏工作两不误
    WaterMC
        73
    WaterMC  
       347 天前   ❤️ 1
    工作不是双向选择么?
    是不是你必须要这份工作,不能辞职。如果是,那就按公司要求来,如果不是,那就辞职。
    是不是公司必须留下你任职,否则就会倒闭。如果是,那么就直接和公司说你需要 mac 办公,如果不是,要不你听公司的,要不就让公司换个人?
    HiyaKuso
        74
    HiyaKuso  
       347 天前
    @ShadowPower 的确,我 C++开发用 WSL2 + VSCode 大半年了还没遇到什么不方便的,文件资源管理器和本地是互通的,code . 直接打开项目,WSL2 可以使用 Windows 主机上的 git 和凭据 & 设置


    @mooyo 可以说说你遇到的体验垃圾之处吗?目前我还没体验到
    billows
        75
    billows  
       347 天前
    我也是 mac 党。不是为了争输赢,就一个习惯问题。我也问个问题:习惯了 mac 上 ctrl+f/a/e/n 等移动光标写代码,windows 上 vscode 里有什么方案可以平替?我现在只知道直接用方向键
    CloveAndCurrant
        76
    CloveAndCurrant  
       347 天前
    只要不用 cgo ,golang 在哪个平台开发没啥区别
    firemiles
        77
    firemiles  
       347 天前
    @billows 不就是 emacs 快捷键吗,加个 emacs 快捷插件试试
    CodeCodeStudy
        78
    CodeCodeStudy  
       347 天前
    12 代 i9 处理器,64g 内存又怎么样,比得过 mac 的 8G 吗,这边建议您辞职,不受这鸟气,去找一家发 mac 的公司
    zw1one
        79
    zw1one  
       347 天前
    用自己电脑
    abzin
        80
    abzin  
       347 天前 via Android
    @hallDrawnel powershell 感觉好难用,命令行大小写减号混杂,历史记录啥也不记录,折腾了个 on my posh ,开一次得两三秒,直接放弃用 wsl 了。之后再用 win 的命令行打算折腾一下 git bash ,类似 linux 的体验。
    yazinnnn0
        81
    yazinnnn0  
       347 天前
    装个 archlinux
    billows
        82
    billows  
       347 天前
    @firemiles 似乎是的,但是很多快捷键就冲突了吧。比如 Windows 下的 ctrl+f 是搜索,用了 emacs 就没了。还有不仅仅是 vscodel 里,mac 上任何文本编辑的地方都可以这么用,windows 下是不是得装个全局键盘映射软件来搞。。
    28Sv0ngQfIE7Yloe
        83
    28Sv0ngQfIE7Yloe  
       347 天前   ❤️ 2
    龟龟,OP 就是说了下「用惯了 macOS 」,没想到大家比 OP 还急,摁头科普 WSL 和 Windows 优点的我还能理解,部分阴阳怪气的回复令人迷惑。
    pyre
        84
    pyre  
       347 天前
    推荐搞台 win 备机/服务器,需要的时候通过 mac 连上去搞,我就这样
    7inFen
        85
    7inFen  
       347 天前
    @billows PowerToys 改键
    billows
        86
    billows  
       347 天前
    @Morii 哈哈哈哈。+1 ,我也是这么认为。
    jjx
        87
    jjx  
       347 天前
    快捷键其实就是习惯问题, 你为了 mac, 习惯了 mac 的快捷键

    反之,为了 win, 你也可以放弃 mac 的快捷键使用 win 的快捷键

    想当初, 从 winodws 切换到 mac, 也是几个月各种不舒服

    反过来, 也是必然的

    amd yes 下 m1 的优势很少
    xz410236056
        88
    xz410236056  
       347 天前
    Linux 啊
    mooyo
        89
    mooyo  
       347 天前
    @HiyaKuso 那你都说用 WSL2 了,那不还是虚拟机,你用实机开发试试。。。
    darklinden
        90
    darklinden  
       347 天前
    @firemiles #77
    请问 mac 下的 option+<- -> 节跳转和 command + <- -> 行跳转在 win 有没有好使的快捷键?
    murmur
        91
    murmur  
       347 天前
    @billows 换习惯啊,用鼠标编程要判刑么?你都说是习惯了,给你 i9+64g 的电脑都改不了你的习惯么
    HiyaKuso
        92
    HiyaKuso  
       347 天前
    @mooyo 的确 WSL2 底层是虚拟机,不过把它当成 windos 平台的一部分似乎也行吧,实机开发的确坑不少,自己搞 Hyper-V 也比较繁琐
    mmdsun
        93
    mmdsun  
       347 天前
    Win 上手无难度,又不是 Win 转 macOs 。

    况且还有 WSL 2 加持。
    murmur
        94
    murmur  
       347 天前
    @Morii 不阴阳怪气干嘛,这点适应能力都没有,屁大点事都得发一贴,程序员能力就这样?那我是不是下次可以发习惯了 JS 开发,鸿蒙的开发不习惯,一次类推一天我能水 10 个帖子

    那能怎么样,6 字箴言呗
    NoNewWorld
        95
    NoNewWorld  
       347 天前
    额。。。用惯了 mac ,切换到 win 也花不了多长时间啊,我家里一台 macbook 、一个 win 游戏机(偶尔用 vs 写 qt)、一个 linux 服务器,基本无缝切换啊,也就快捷键刚切换的时候会搞错几次。
    weaving
        96
    weaving  
       347 天前
    要么适应,要么跑路,反正没啥关系,都是工具挣钱手段。
    billows
        97
    billows  
       347 天前
    @murmur 666 ,首先我有 mac ,也有 windows 。只是在询问有没有更好的适配两种情况的方案,你别继续反问:为什么你不只用一台机器开发呢?为什么你不用远程呢?这属于我已经没法控制的前提条件了。你可以不参与讨论,但是没必要一上来就改掉别人的前提条件对吧。
    murmur
        98
    murmur  
       347 天前
    @billows 都 2023 年了,谁给钱我适应谁的习惯,2020 年我可以不爽辞,2023 年谁敢随便跑路,下家问你为啥几天就辞职了,你说他们提供不起 mac 电脑,笑了?
    billows
        99
    billows  
       347 天前
    @7inFen 谢谢,其实也是临时有环境需要才会去 windows 上开发,确实是效率大减。
    sunnist
        100
    sunnist  
       347 天前
    再过几年,是不是 wsl 也装不出 macOS 了吧?想用 macOS 还是得老老实实买苹果
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2637 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 03:26 · PVG 11:26 · LAX 19:26 · JFK 22:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.