V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Pin
V2EX  ›  问与答

Windows 怎么部署开发环境?

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

    最近买了一台台式机,想做开发,以前 macOS 用习惯了,不知道 windows 怎么搞。

    就是从官网下载就行了吗?比如 node.js 什么,就是从官网下载然后更改系统变量吗?

    有没有更优雅的方法呢?比如 macOS 类似的 homebrew

    42 条回复    2023-06-12 10:21:13 +08:00
    xubeiyan
        1
    xubeiyan  
       321 天前 via Android
    nodejs 建议在 Windows 使用 nvm for Windows 这样类似的版本管理工具。另外别用 fnm ,fnm 在 win 上很不好用
    wolfan
        2
    wolfan  
       321 天前
    nodejs\python 这些直接官网下载安装包就好,环境变量自动配置。
    不想用自带的 cmd/powershell 可以下载个 https://git-scm.com/ 也可以。

    其实 win 安装很简单的,现在也不需要手动配置环境变量了,都是自动完成的。
    t41372
        3
    t41372  
       321 天前 via Android
    用包管理器。有微软官方的 winget ,第三方的 chocolatey 等。
    MonoLogueChi
        4
    MonoLogueChi  
       321 天前 via Android   ❤️ 1
    可以用包管理工具 scoop ,也可以直接官网下载安装包,一般情况下不需要手动改环境变量,安装过程会有选项让你将路径加入环境变量
    Slurp
        5
    Slurp  
       321 天前
    唯一推荐 MSYS2 ,其他多少沾点。
    dcsuibian
        6
    dcsuibian  
       321 天前 via Android
    说实话我觉得大概一样。因为我 mac 装开发相关的也是手动挡。java 我手动配环境变量,nodejs 我用 fnm ,python 我用 miniforge
    imoru
        7
    imoru  
       321 天前
    内存够用的话推荐直接开一台 hyperv 虚拟机,里面装好开发环境然后远程连接上去用
    oldshensheep
        8
    oldshensheep  
       321 天前
    用 scoop
    可以管理 java ,go ,js 等环境
    现在我的 Windows 已经是 Linux 的形状了,
    grep ls awk cat 什么 Linux 命令都可以用,还有 rsync ,zstd 等工具也可以安装。更重要的是重装系统可以一键配置环境
    richardzhao12138
        9
    richardzhao12138  
       321 天前
    用 WSL
    qwq11
        10
    qwq11  
       321 天前
    WSL
    z1645444
        11
    z1645444  
       321 天前 via Android   ❤️ 1
    1. 个人不是非常推荐使用 WSL ,WSL 2 路由有问题,WSL 1 不能跑 docker ,建议直接 VirtualBox 、VMware 、或者就用 HyperV 创建一个。
    2. 包和其他命令行工具(链)都建议在 1. 中的环境部署,除非是使用 MSVC 这样的情况。
    3. 其他的包安装尽量用 MSYS2 , 以及 chocolatey 或者 scoop ,推荐前者,意识形态问题(
    4. 针对 op 的问号 s:
    - 各种 IDE 和编辑器从官网下就好了
    - 不要这么做,用 xxx version manager 比较好,比如 Nodejs 有 nvm ,Python 有 pyenv ,等
    - 有,见 3.
    z1645444
        12
    z1645444  
       321 天前 via Android
    @z1645444 #11 补充一下 Java ,我不是专业的,我是通过脚本修改环境变量,选择数字然后切换版本号的,但是 IDEA 似乎可以直接切换环境所以不用担心?(不懂,等专业的补充)
    cylx3124
        13
    cylx3124  
       321 天前
    我现在在用 WSL2 ,所有开发相关的环境和代码都放在 wsl 内,用 terminal 安装

    JB 全家桶用 GWSl 做 Xserver
    其他都用 VS Code 的 wsl 插件连接

    环境装在虚拟机 /wsl 最大的好处就是更换设备或者备份只需要把镜像导出,在新设备导入就可以了,不需要重新安装各种软件和配置各种环境变量
    wangkun025
        14
    wangkun025  
       321 天前
    我在用 winget 和 chocolatey
    jamesxu
        15
    jamesxu  
       321 天前 via Android
    @cylx3124 试过,资源占用太高,放弃了
    billlee
        16
    billlee  
       321 天前
    用 WSL, 把问题简化成在 linux 下怎么部署开发环境
    U2tzJTNE
        17
    U2tzJTNE  
       321 天前
    scoop
    BeautifulSoap
        18
    BeautifulSoap  
       321 天前 via Android
    建议直接用 wsl2 ,这样 linux 下怎么建就怎么建,再配合 wslg 这样 ide 都不用在 Windows 下跑了
    而且 wsl2 可以调用宿主显卡进行硬件加速,这是你无论用什么虚拟机都做不到的,而且和系统无缝结合
    很多人 wsl2 下实际上根本碰不到什么大问题
    w3cll
        19
    w3cll  
       321 天前
    wsl 一把梭
    elechi
        20
    elechi  
       321 天前
    scoop+1
    ysc3839
        21
    ysc3839  
       321 天前 via Android
    Node.js 我选择用 fnm 安装
    Python 我选择官网提供的安装包
    shell 我选择 MSYS2+zsh ,许多 Unix 工具也可以直接用 MSYS2 的包管理安装
    有些 MSYS2 没的工具,用 WSL1 也行
    Maboroshii
        22
    Maboroshii  
       321 天前 via Android
    虚拟机一个 ubuntu 桌面
    tin3w5
        23
    tin3w5  
       321 天前 via iPhone
    直接虚拟机装个 centos ,里面跑个 docker ,和生产环境一样不香吗?
    MajestySolor
        24
    MajestySolor  
       321 天前
    直接 wsl2
    aydd2004
        25
    aydd2004  
       321 天前
    wsl2 这是我觉得 win 做的比 macOS 优秀不止一点的地方。

    macos 啥时候能有这玩意儿,哪怕虚拟的也是 macos 。
    ecloud
        26
    ecloud  
       321 天前 via iPhone
    @aydd2004 人家本来就是 BSD ,为什么还要虚拟一个 BSD 出来?你要虚拟干脆直接装虚拟机不就得了。Mac 上的原生 gnu 环境不比什么虚拟出来的强多了
    Dragonphy
        27
    Dragonphy  
       321 天前
    内存 32G+我推荐你用 WSL2
    Dragonphy
        28
    Dragonphy  
       321 天前
    ilaipi
        29
    ilaipi  
       321 天前
    我之前一直是 wsl2 ,最近想切出来。主要是碰到了用指纹浏览器,这种情况下,wsl2 里跑项目,Windows 上跑指纹,连不上。最近慢慢都切出来了
    yazoox
        30
    yazoox  
       321 天前
    @oldshensheep 兄弟,不分享一个 scoop 的配置文件或者脚本么?;-) 谢谢
    ilaipi
        31
    ilaipi  
       321 天前
    @oldshensheep #8 老哥可以详细说说嘛,刚试了 MSYS2 感觉这虚出来的环境不咋好用,还想试试 scoop ,不知道装什么能用 linux 命令?一键配置环境是什么实现的,感谢
    zmxnv123
        32
    zmxnv123  
       321 天前
    我觉得改环境变量可比 homebrew 优雅多了...
    air00dd
        33
    air00dd  
       321 天前
    同样力推 scoop
    ssw2
        34
    ssw2  
       321 天前
    subsystem 走起
    mikasa1024
        35
    mikasa1024  
       321 天前
    scoop +1 ,java python go 都是一键安装,切换版本也很方便
    oldshensheep
        36
    oldshensheep  
       321 天前   ❤️ 1
    @yazoox
    @ilaipi
    scoop 安装就不多说了,说一下环境变量的配置

    安装 scoop 时可以自定义安装位置,可以选择一个 C 盘以外的位置,这样重装系统就不会丢失之前安装的软件和数据。这里以 scoop 安装到`D:/scoop`为例

    重装系统后参照 <https://github.com/ScoopInstaller/Install#advanced-installation> 这里的安装说明
    执行 这个 `.\install.ps1 -ScoopDir 'D:/scoop'` 就可以保留所有数据安装 scoop (其实就是把 D:/scoop/shims/这个文件夹放到环境变量里)

    安装完成之后然后执行 scoop reset * 就可以一键配置环境变量(就是之前重装系统前安装的东西)

    还有切换 java 、node 版本啥的
    以 java 为例:scoop reset temurin8-jdk 就可以将 Java 环境变量设置为 java8
    oldshensheep
        37
    oldshensheep  
       321 天前
    具体的配置可以看看这个 https://blog.oldshensheep.com/note/lindows/
    @ilaipi
    @yazoox
    HankAviator
        38
    HankAviator  
       321 天前
    WSL2 的话就要把东西都装到 linux 虚拟机下面不然 IO 性能很差
    https://github.com/microsoft/WSL/issues/4197
    ilaipi
        39
    ilaipi  
       320 天前
    @oldshensheep #36
    @oldshensheep #37 感谢老哥,我折腾了一上午,把 git sh 弄了个 zsh ,配合你发的这些再看看。感谢啊!
    Derrick92
        40
    Derrick92  
       320 天前
    @cylx3124 老哥想问问你的 docker 也是安在 wsl2 里面嘛? 然后 idea 和 docker 的联调都是在 wsl2 内进行的?
    cylx3124
        41
    cylx3124  
       320 天前
    @Derrick92 是的,wsl2 里用 docker 最好开启 wsl2 的 systemd 功能
    southFlowFire
        42
    southFlowFire  
       320 天前
    vscode remote docker
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2877 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 06:56 · PVG 14:56 · LAX 23:56 · JFK 02:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.