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 \
    prettier

Python 环境

使用系统 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.cn

Go 环境

使用官方安装包

# 下载 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 env

Java 环境

使用 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.conf

MongoDB

# 导入 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 mongod

VS Code 集成

安装 Remote - WSL 扩展

  1. 在 VS Code 中安装 “Remote - WSL” 扩展
  2. 在 WSL 中打开项目:
    code .
  3. 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

环境变量管理

配置文件优先级

  1. /etc/environment - 系统级环境变量
  2. ~/.profile - 登录时加载
  3. ~/.bashrc - 交互式 shell 加载
  4. ~/.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

📚 参考资源


返回 WSL 知识体系

WSL 开发环境 Node.js Python Go