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

Windows 怎么部署开发环境?

  •  1
     
  •   Pin · 2023-06-10 16:31:24 +08:00 · 4294 次点击
    这是一个创建于 568 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    其实 win 安装很简单的,现在也不需要手动配置环境变量了,都是自动完成的。
    t41372
        3
    t41372  
       2023-06-10 16:45:32 +08:00 via Android
    用包管理器。有微软官方的 winget ,第三方的 chocolatey 等。
    MonoLogueChi
        4
    MonoLogueChi  
       2023-06-10 16:51:47 +08:00 via Android   ❤️ 1
    可以用包管理工具 scoop ,也可以直接官网下载安装包,一般情况下不需要手动改环境变量,安装过程会有选项让你将路径加入环境变量
    Slurp
        5
    Slurp  
       2023-06-10 17:03:25 +08:00
    唯一推荐 MSYS2 ,其他多少沾点。
    dcsuibian
        6
    dcsuibian  
       2023-06-10 17:25:21 +08:00 via Android
    说实话我觉得大概一样。因为我 mac 装开发相关的也是手动挡。java 我手动配环境变量,nodejs 我用 fnm ,python 我用 miniforge
    imoru
        7
    imoru  
       2023-06-10 17:43:13 +08:00
    内存够用的话推荐直接开一台 hyperv 虚拟机,里面装好开发环境然后远程连接上去用
    oldshensheep
        8
    oldshensheep  
       2023-06-10 17:58:56 +08:00
    用 scoop
    可以管理 java ,go ,js 等环境
    现在我的 Windows 已经是 Linux 的形状了,
    grep ls awk cat 什么 Linux 命令都可以用,还有 rsync ,zstd 等工具也可以安装。更重要的是重装系统可以一键配置环境
    richardzhao12138
        9
    richardzhao12138  
       2023-06-10 18:49:56 +08:00
    用 WSL
    qwq11
        10
    qwq11  
       2023-06-10 18:52:32 +08:00
    WSL
    z1645444
        11
    z1645444  
       2023-06-10 19:31:24 +08:00 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  
       2023-06-10 19:35:35 +08:00 via Android
    @z1645444 #11 补充一下 Java ,我不是专业的,我是通过脚本修改环境变量,选择数字然后切换版本号的,但是 IDEA 似乎可以直接切换环境所以不用担心?(不懂,等专业的补充)
    cylx3124
        13
    cylx3124  
       2023-06-10 21:16:10 +08:00
    我现在在用 WSL2 ,所有开发相关的环境和代码都放在 wsl 内,用 terminal 安装

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

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

    macos 啥时候能有这玩意儿,哪怕虚拟的也是 macos 。
    ecloud
        26
    ecloud  
       2023-06-11 00:46:57 +08:00 via iPhone
    @aydd2004 人家本来就是 BSD ,为什么还要虚拟一个 BSD 出来?你要虚拟干脆直接装虚拟机不就得了。Mac 上的原生 gnu 环境不比什么虚拟出来的强多了
    Dragonphy
        27
    Dragonphy  
       2023-06-11 01:04:34 +08:00
    内存 32G+我推荐你用 WSL2
    Dragonphy
        28
    Dragonphy  
       2023-06-11 01:05:08 +08:00
    ilaipi
        29
    ilaipi  
       2023-06-11 08:48:26 +08:00
    我之前一直是 wsl2 ,最近想切出来。主要是碰到了用指纹浏览器,这种情况下,wsl2 里跑项目,Windows 上跑指纹,连不上。最近慢慢都切出来了
    yazoox
        30
    yazoox  
       2023-06-11 10:03:23 +08:00
    @oldshensheep 兄弟,不分享一个 scoop 的配置文件或者脚本么?;-) 谢谢
    ilaipi
        31
    ilaipi  
       2023-06-11 10:21:31 +08:00
    @oldshensheep #8 老哥可以详细说说嘛,刚试了 MSYS2 感觉这虚出来的环境不咋好用,还想试试 scoop ,不知道装什么能用 linux 命令?一键配置环境是什么实现的,感谢
    zmxnv123
        32
    zmxnv123  
       2023-06-11 10:40:45 +08:00
    我觉得改环境变量可比 homebrew 优雅多了...
    air00dd
        33
    air00dd  
       2023-06-11 12:11:26 +08:00
    同样力推 scoop
    ssw2
        34
    ssw2  
       2023-06-11 13:14:48 +08:00
    subsystem 走起
    mikasa1024
        35
    mikasa1024  
       2023-06-11 13:20:44 +08:00
    scoop +1 ,java python go 都是一键安装,切换版本也很方便
    oldshensheep
        36
    oldshensheep  
       2023-06-11 13:57:43 +08:00   ❤️ 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  
       2023-06-11 14:00:34 +08:00
    具体的配置可以看看这个 https://blog.oldshensheep.com/note/lindows/
    @ilaipi
    @yazoox
    HankAviator
        38
    HankAviator  
       2023-06-11 14:18:01 +08:00
    WSL2 的话就要把东西都装到 linux 虚拟机下面不然 IO 性能很差
    https://github.com/microsoft/WSL/issues/4197
    ilaipi
        39
    ilaipi  
       2023-06-11 17:47:22 +08:00
    @oldshensheep #36
    @oldshensheep #37 感谢老哥,我折腾了一上午,把 git sh 弄了个 zsh ,配合你发的这些再看看。感谢啊!
    Derrick92
        40
    Derrick92  
       2023-06-11 23:04:49 +08:00
    @cylx3124 老哥想问问你的 docker 也是安在 wsl2 里面嘛? 然后 idea 和 docker 的联调都是在 wsl2 内进行的?
    cylx3124
        41
    cylx3124  
       2023-06-12 10:17:19 +08:00
    @Derrick92 是的,wsl2 里用 docker 最好开启 wsl2 的 systemd 功能
    southFlowFire
        42
    southFlowFire  
       2023-06-12 10:21:13 +08:00
    vscode remote docker
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1491 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 16:52 · PVG 00:52 · LAX 08:52 · JFK 11:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.