WSL 开发环境配置
在 WSL 中配置 Node.js、Python、Go 等开发工具和环境
📋 目录
包管理器配置
Ubuntu/Debian (apt)
# 更新包列表
sudo apt update
# 升级系统
sudo apt upgrade
# 安装常用工具
sudo apt install -y \
build-essential \
curl \
wget \
git \
vim \
nano \
zip \
unzip \
tree \
htop
# 配置 apt 镜像源(国内用户)
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
sudo sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list
sudo apt update配置代理(如果需要)
# 编辑 apt 代理配置
sudo nano /etc/apt/apt.conf.d/95proxies
# 添加(根据实际情况修改)
Acquire::http::Proxy "http://proxy.example.com:8080";
Acquire::https::Proxy "http://proxy.example.com:8080";Node.js 环境
使用 NodeSource 安装
# 安装 Node.js 18.x LTS
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs
# 验证安装
node --version
npm --version使用 nvm(推荐)
# 安装 nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
# 重新加载 shell 配置
source ~/.bashrc
# 安装 Node.js LTS
nvm install --lts
nvm use --lts
# 设置默认版本
nvm alias default node
# 验证安装
node --version
npm --version配置 npm
# 查看配置
npm config list
# 设置镜像源(国内用户)
npm config set registry https://registry.npmmirror.com
# 或使用 cnpm
npm install -g cnpm --registry=https://registry.npmmirror.com
# 配置全局安装路径
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
# 添加到 PATH(在 ~/.bashrc 中)
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc安装常用工具
# 安装 yarn
npm install -g yarn
# 安装 pnpm
npm install -g pnpm
# 安装常用 CLI 工具
npm install -g \
typescript \
ts-node \
nodemon \
pm2 \
eslint \
prettierPython 环境
使用系统 Python
# Ubuntu 22.04 默认包含 Python 3.10
python3 --version
# 安装 pip
sudo apt install -y python3-pip
# 升级 pip
python3 -m pip install --upgrade pip使用 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
# 安装 pyenv
curl https://pyenv.run | bash
# 添加到 ~/.bashrc
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
# 重新加载
source ~/.bashrc
# 安装 Python
pyenv install 3.11.0
pyenv global 3.11.0
# 验证
python --version使用虚拟环境
# 安装 venv
sudo apt install -y python3-venv
# 创建虚拟环境
python3 -m venv myenv
# 激活虚拟环境
source myenv/bin/activate
# 安装包
pip install package_name
# 退出虚拟环境
deactivate配置 pip 镜像源
# 创建 pip 配置目录
mkdir -p ~/.pip
# 编辑配置文件
nano ~/.pip/pip.conf
# 添加内容(国内用户)
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
trusted-host = pypi.tuna.tsinghua.edu.cnGo 环境
使用官方安装包
# 下载 Go(替换版本号)
wget https://go.dev/dl/go1.21.0.linux-amd64.tar.gz
# 删除旧版本(如果存在)
sudo rm -rf /usr/local/go
# 解压到 /usr/local
sudo tar -C /usr/local -xzf go1.21.0.linux-amd64.tar.gz
# 添加到 PATH(在 ~/.bashrc 中)
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc
echo 'export GOPATH=$HOME/go' >> ~/.bashrc
echo 'export PATH=$PATH:$GOPATH/bin' >> ~/.bashrc
# 重新加载
source ~/.bashrc
# 验证安装
go version使用 g(Go 版本管理工具)
# 安装 g
curl -sSL https://raw.githubusercontent.com/voidint/g/master/install.sh | bash
# 重新加载
source ~/.bashrc
# 安装 Go
g install 1.21.0
# 设置默认版本
g use 1.21.0
# 验证
go version配置 Go 环境
# 设置 GOPROXY(国内用户)
go env -w GOPROXY=https://goproxy.cn,direct
# 设置 GOSUMDB
go env -w GOSUMDB=sum.golang.google.cn
# 查看配置
go envJava 环境
使用 OpenJDK
# 安装 OpenJDK 17
sudo apt install -y openjdk-17-jdk
# 验证安装
java -version
javac -version
# 设置 JAVA_HOME
echo 'export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64' >> ~/.bashrc
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.bashrc
source ~/.bashrc使用 SDKMAN(推荐)
# 安装 SDKMAN
curl -s "https://get.sdkman.io" | bash
# 重新加载
source ~/.bashrc
# 安装 Java
sdk install java 17.0.2-tem
# 设置默认版本
sdk default java 17.0.2-tem
# 验证
java -version安装 Maven
# 使用 SDKMAN
sdk install maven
# 或手动安装
wget https://dlcdn.apache.org/maven/maven-3/3.9.4/binaries/apache-maven-3.9.4-bin.tar.gz
tar -xzf apache-maven-3.9.4-bin.tar.gz
sudo mv apache-maven-3.9.4 /opt/maven
# 添加到 PATH
echo 'export PATH=/opt/maven/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
# 验证
mvn --version数据库配置
MySQL
# 安装 MySQL
sudo apt update
sudo apt install -y mysql-server
# 启动 MySQL
sudo service mysql start
# 安全配置
sudo mysql_secure_installation
# 登录 MySQL
sudo mysql -u root -p
# 创建用户和数据库
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
CREATE DATABASE mydb;
GRANT ALL PRIVILEGES ON mydb.* TO 'username'@'localhost';
FLUSH PRIVILEGES;PostgreSQL
# 安装 PostgreSQL
sudo apt install -y postgresql postgresql-contrib
# 启动 PostgreSQL
sudo service postgresql start
# 切换到 postgres 用户
sudo -u postgres psql
# 创建用户和数据库
CREATE USER username WITH PASSWORD 'password';
CREATE DATABASE mydb OWNER username;
GRANT ALL PRIVILEGES ON DATABASE mydb TO username;Redis
# 安装 Redis
sudo apt install -y redis-server
# 启动 Redis
sudo service redis-server start
# 测试连接
redis-cli ping
# 配置 Redis(编辑 /etc/redis/redis.conf)
sudo nano /etc/redis/redis.confMongoDB
# 导入 MongoDB GPG 密钥
curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg --dearmor
# 添加 MongoDB 仓库
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
# 安装 MongoDB
sudo apt update
sudo apt install -y mongodb-org
# 启动 MongoDB
sudo systemctl start mongod
sudo systemctl enable mongodVS Code 集成
安装 Remote - WSL 扩展
- 在 VS Code 中安装 “Remote - WSL” 扩展
- 在 WSL 中打开项目:
code . - VS Code 会自动连接到 WSL
配置终端
在 VS Code 设置中:
{
"terminal.integrated.defaultProfile.linux": "bash",
"terminal.integrated.profiles.linux": {
"bash": {
"path": "/bin/bash"
}
}
}使用 WSL 中的工具
VS Code 会自动使用 WSL 中的:
- Node.js、Python、Go 等运行时
- Git
- 终端
- 扩展(可以安装 Linux 版本的扩展)
Git 配置
安装 Git
# 安装 Git
sudo apt install -y git
# 验证安装
git --version配置 Git
# 设置用户名和邮箱
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
# 设置默认编辑器
git config --global core.editor "code --wait"
# 设置默认分支名
git config --global init.defaultBranch main
# 配置换行符(Windows 兼容)
git config --global core.autocrlf input
# 查看配置
git config --list配置 SSH 密钥
# 生成 SSH 密钥
ssh-keygen -t ed25519 -C "your.email@example.com"
# 启动 ssh-agent
eval "$(ssh-agent -s)"
# 添加密钥
ssh-add ~/.ssh/id_ed25519
# 复制公钥(在 Windows 中)
cat ~/.ssh/id_ed25519.pub | clip.exe
# 或显示公钥
cat ~/.ssh/id_ed25519.pub配置 GitHub CLI
# 安装 GitHub CLI
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
sudo apt update
sudo apt install gh
# 登录 GitHub
gh auth login环境变量管理
配置文件优先级
/etc/environment- 系统级环境变量~/.profile- 登录时加载~/.bashrc- 交互式 shell 加载~/.bash_profile- 登录 shell 加载(如果存在)
设置环境变量
# 临时设置
export MY_VAR="value"
# 永久设置(添加到 ~/.bashrc)
echo 'export MY_VAR="value"' >> ~/.bashrc
source ~/.bashrc
# 系统级设置(需要 root)
sudo nano /etc/environment使用 .env 文件
# 安装 dotenv(Node.js)
npm install -g dotenv-cli
# 使用
dotenv -e .env node script.js性能优化
使用 WSL 2
# 确保使用 WSL 2
wsl --set-default-version 2
wsl --set-version Ubuntu-22.04 2项目文件位置
# 推荐:将项目放在 Linux 文件系统中
~/projects/myapp
# 不推荐:放在 Windows 文件系统中
/mnt/c/Users/Username/projects/myapp配置资源限制
在 .wslconfig 中:
[wsl2]
memory=8GB
processors=4