WSL2 常用配置(Ubuntu 22.04)
- bash(默认命令行工具)、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
确认当前使用 bash
Ubuntu 默认就是 bash,通常不需要额外切换。可以用下面命令确认:
echo $SHELL
如果输出不是 /bin/bash,再执行:
chsh -s /bin/bash
三、安装并配置环境,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/.bashrc
添加:
# 显示当前路径(~ 缩写)
PS1='\[\e[38;5;214m\]Wsl Ubuntu 22.04\[\e[0m\] \[\e[1;38;5;39m\]\w\[\e[0m\] \[\e[32m\]\$\[\e[0m\] '
# 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)
__last_node_version_dir=""
load_node_version() {
[ "$PWD" = "$__last_node_version_dir" ] && return
__last_node_version_dir="$PWD"
local version_file=""
if [ -f ".nvmrc" ]; then
version_file=".nvmrc"
elif [ -f ".node-version" ]; then
version_file=".node-version"
else
return
fi
local node_version
node_version="$(cat "$version_file")"
if nvm ls "$node_version" >/dev/null 2>&1; then
nvm use --silent "$node_version"
else
echo "Node $node_version not installed. Run: nvm install $node_version"
fi
}
# pyenv
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
__bashrc_prompt_command() {
load_node_version
}
case "$PROMPT_COMMAND" in
*__bashrc_prompt_command*) ;;
*) PROMPT_COMMAND="__bashrc_prompt_command${PROMPT_COMMAND:+;$PROMPT_COMMAND}" ;;
esac
加载并验证:
source /root/.bashrc
安装 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...