WSL2 常用配置(Ubuntu 22.04)
- zsh(默认命令行工具)、nvm(Node.js 版本管理)、pyenv(Python 版本管理)
一、系统环境准备
使用代理加速下载(可选)
用于加速 apt、curl、npm 等网络请求,仅对**当前终端会话生效。
export https_proxy=http://127.0.0.1:7897 http_proxy=http://127.0.0.1:7897 all_proxy=socks5://127.0.0.1:7897
更新系统,安装基础工具
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl git build-essential
# 安装并设置 zsh
sudo apt install -y zsh
chsh -s $(which zsh)
重启 WSL 使配置生效
在 Windows 终端执行:
wsl --shutdown
重新打开 Ubuntu。
三、安装并配置环境,nvm + pyenv
安装 nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
安装 pyenv
sudo apt install -y \
make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev \
wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev libffi-dev liblzma-dev
curl https://pyenv.run | bash
2️⃣ 配置环境变量
nano /root/.zshrc
添加:
# 显示当前路径(~ 缩写)
PROMPT='%F{214}Wsl Ubuntu 22.04%f %B%F{39}%1~%f%b %F{green}%#%f '
# proxy
proxy_on() {
export http_proxy=http://127.0.0.1:7897
export https_proxy=$http_proxy
export HTTP_PROXY=$http_proxy
export HTTPS_PROXY=$http_proxy
export all_proxy=socks5://127.0.0.1:7897
export ALL_PROXY=$all_proxy
}
proxy_off() {
unset http_proxy https_proxy HTTP_PROXY HTTPS_PROXY all_proxy ALL_PROXY
}
# nvm + node 自动切换
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
# 自动 use 已安装的 Node 版本(基于 .nvmrc 或 .node-version)
autoload -U add-zsh-hook
load-nvmrc() {
local nvmrc_path="$(nvm_find_nvmrc)"
if [ -n "$nvmrc_path" ]; then
local nvmrc_version
nvmrc_version="$(cat "$nvmrc_path")"
if nvm ls "$nvmrc_version" >/dev/null 2>&1; then
nvm use --silent "$nvmrc_version"
else
echo "Node $nvmrc_version not installed. Run: nvm install $nvmrc_version"
fi
fi
}
load-nvmrc
add-zsh-hook chpwd load-nvmrc
# pyenv
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
# Zsh 历史记录
export HISTFILE="$HOME/.zsh_history"
# 内存中保存的历史条数
export HISTSIZE=100
# 写入文件的历史条数
export SAVEHIST=100
# 关键选项(防止历史丢失)
setopt APPEND_HISTORY
setopt INC_APPEND_HISTORY
setopt SHARE_HISTORY
setopt HIST_IGNORE_ALL_DUPS
setopt HIST_REDUCE_BLANKS
setopt HIST_VERIFY
加载并验证:
source /root/.zshrc
安装 node python
# node
nvm install 25
nvm alias default 25
# python
pyenv install 3.11.9
pyenv global 3.11.9
上配置 Git 的 SSH Key,按下面步骤来即可(适用于 GitHub / GitLab / Gitee 等)。
生成 SSH Key(推荐 ed25519)
ssh-keygen -t ed25519 -C "你的邮箱"
执行后:
- 一路回车 → 默认路径
~/.ssh/id_ed25519
生成结果:
- 私钥:
~/.ssh/id_ed25519 - 公钥:
~/.ssh/id_ed25519.pub
三、启动 ssh-agent 并添加私钥
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
四、复制公钥内容
cat ~/.ssh/id_ed25519.pub
复制输出的整行内容(以 ssh-ed25519 开头)。
五、把公钥添加到 Git 平台
https://github.com/settings/ssh/new
GitHub
- New SSH key
- 粘贴公钥 → Save
六、测试连接
以 GitHub 为例:
ssh -T git@github.com
成功会看到:
Hi username! You've successfully authenticated...