本文基于Win11 x64编写

🚀 AI时代了,不建议在Windows中AI Coding,推荐所有项目都放到WSL内

🚀 在Windows上使用 IntelliJ IDEA、VS Code 等IDE,使用 Remote 直连WSL进行项目开发

文章索引:

安装Windows Terminal

Windows Terminal = 现代化终端壳 + 多环境统一入口 + 高生产力工具

# 在PowerShell中执行,如果无法下载,也可以从微软商店下载

# 安装
winget install Microsoft.WindowsTerminal

# 查看当前版本
Get-AppxPackage Microsoft.WindowsTerminal

# 更新
winget upgrade Microsoft.WindowsTerminal

升级PowerShell(可选)

新版本PowerShell跨平台、性能更好,安装方式见:

https://learn.microsoft.com/zh-cn/powershell/scripting/install/install-powershell-on-windows

1E4CA32B-8710-4E3D-979E-D415EAFE3A55.png

安装WSL2

详见:https://qiyec.site/archives/bAQrT0aZ

WSL环境搭建

在WSL(linux子系统) 中完成Node、Python、JDK、Maven等环境安装

Node管理

fnm

fnm(Fast Node Manager)是用 Rust 编写的 Node.js 版本管理工具,速度远超 nvm,启动时间几乎为零,且支持 .node-version 和 .nvmrc 文件,与 nvm 生态完全兼容。

fnm官方地址:https://github.com/Schniz/fnm

安装fnm:

curl -fsSL https://fnm.vercel.app/install | bash

初始化配置:

# 如果是 Bash:将以下内容加入到 ~/.bashrc
eval "$(fnm env --use-on-cd --shell bash)"

# 如果是 Zsh:将以下内容加入到 ~/.zshrc
eval "$(fnm env --use-on-cd --shell zsh)"

# 使配置立即生效
source ~/.bashrc   # 或 source ~/.bashrc

安装与切换Node:

# 查看所有可安装的版本
fnm list-remote

# 安装 Node.js LTS(推荐,长期支持版)
fnm install --lts

# 安装指定版本(如前端项目要求 Node 18)
fnm install 18
fnm install 20
fnm install 22

# 查看已安装版本
fnm list

# 全局切换默认版本
fnm default 22

# 当前会话临时切换
fnm use 18

# 验证
node -v && npm -v

项目级版本自动切换:

在项目根目录创建 .node-version 文件,fnm 会在进入目录时自动切换(前提是配置了 --use-on-cd)

# 在项目根目录创建版本文件
echo "18" > .node-version
# 或者兼容 nvm 格式
echo "18" > .nvmrc

# 手动触发切换(也可进入目录自动触发)
fnm use

# 如果该版本未安装,自动安装并切换
fnm use --install-if-missing

配置 npm 国内镜像(可选):

# 设置淘宝镜像(推荐)
npm config set registry https://registry.npmmirror.com

# 验证
npm config get registry

# 或者使用 nrm 快速切换镜像
npm install -g nrm
nrm ls       # 列出所有镜像
nrm use taobao  # 切换到淘宝镜像

# 安装 pnpm(更快的包管理器,推荐)
npm install -g pnpm
pnpm config set registry https://registry.npmmirror.com

命令速查:

更多详见:https://github.com/Schniz/fnm/blob/master/docs/commands.md

nvm

nvm官方地址:https://github.com/nvm-sh/nvm

详细参考:https://qiyec.site/archives/ejoXvnxv

安装nvm:

# 安装nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.4/install.sh | bash

配置环境变量:

# 编辑文件
vim ~/.bashrc

# 写入配置
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm

刷新配置文件:

# 刷新配置
source ~/.bashrc

# 判断nvm是否安装成功
nvm -v

nvm常用命令:

nvm version

nvm list

nvm current

nvm install 20

nvm use 20

nvm uninstall 20

nvm install 24 --reinstall-packages-from=20

nvm alias default 24

Python管理

开发环境pyenv和uv二选一就好了,新项目建议选择uv

pyenv

pyenv官方地址:https://github.com/pyenv/pyenv

安装命令:

curl -fsSL https://pyenv.run | bash

设置环境变量:

# 编辑文件
vim ~/.bashrc

# 写入以下配置
export PYENV_ROOT="$HOME/.pyenv"
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init - bash)"

刷新配置文件:

# 刷新配置
source ~/.bashrc

# 判断pyenv是否安装成功
pyenv --version

uv

官方链接:https://github.com/astral-sh/uv

安装命令:

curl -LsSf https://astral.sh/uv/install.sh | sh

验证安装:

uv --version

更新/卸载uv:

# 更新uv
uv self update

# 卸载uv
rm -f ~/.local/bin/uv
rm -rf ~/.local/share/uv

详细uv使用指南:https://qiyec.site/archives/weCClg1h

SDKMAN

SDKMAN 是 JVM 生态的版本管理神器,支持 JDK、Maven、Gradle、Kotlin、Scala 等几十种工具,可以在多个版本间无缝切换。

官方文档:https://sdkman.io/

SDKMAN 是 JVM 生态的版本管理神器,支持 JDK、Maven、Gradle、Kotlin、Scala 等几十种工具,可以在多个版本间无缝切换。

Windows用户优先在WSL中使用,来自官方建议。

# 官方安装脚本
curl -s "https://get.sdkman.io" | bash

# 立即激活
source "$HOME/.sdkman/bin/sdkman-init.sh"

# 验证安装
sdk version

管理Java

# 查看所有可用 JDK 发行版
sdk list java

# 安装 JDK 21
sdk install java 21.0.5-tem

# 查看已安装版本
sdk list java | grep "local only"

# 设置全局默认版本
sdk default java 21.0.5-tem

# 仅当前 Shell 会话临时切换
sdk use java 17.0.13-tem

# 针对某个项目目录自动切换(在项目根目录创建 .sdkmanrc)
sdk env init
# 这会在当前目录生成 .sdkmanrc 文件,内容类似:
# java=17.0.13-tem
# maven=3.9.9

# 进入该目录时执行,自动切换到 .sdkmanrc 中指定的版本
sdk env

# 验证当前 java 版本
java -version

👏最佳实践:

在每个项目根目录创建 .sdkmanrc 并提交到 Git,团队成员进入目录执行 sdk env 即可同步版本,彻底告别"在我机器上没问题"。

管理Maven

# 查看可用 Maven 版本
sdk list maven

# 安装最新稳定版 Maven
sdk install maven 3.9.9

# 设置为默认
sdk default maven 3.9.9

# 验证
mvn -version

AI Coding

终端CLI

Claude Code实战系列:https://qiyec.site/archives/PfrEUyyl

WSL2 + IDEA + CC GUI

在 Windows + WSL2 + IntelliJ IDEA(或其他 JetBrains IDE)环境下,远程/跨环境开发常见有两种模式:

方式一:Windows 侧直接打开 WSL2 文件系统(\wsl$)

方式二:JetBrains Remote Development / Gateway(真正远程 WSL 开发),这是现在 JetBrains 更推荐的方式。

未完待续...

痛点

再好的工具,也会有痛点~

AI在WSL2中如何操作浏览器

可以参考:https://gitcode.csdn.net/6a0d14fb10ee7a33f273d54a.html