多语言开发环境规划方案
1. 环境部署分配
Windows宿主机
- Node.js/Vue开发环境
- 原因:前端工具链Windows支持完善
- 版本管理:nvm-windows
- 存储位置:
D:\DevSpace\web
WSL2
- Python开发环境
- 原因:包管理系统更完整,Linux原生性能更好
- 版本管理:pyenv
- 存储位置:
~/projects/python
(WSL文件系统内)
- Go开发环境
- 原因:在Linux环境下构建更快
- 版本管理:gvm
- 存储位置:
~/projects/go
(WSL文件系统内)
- Java开发环境
- 原因:IDE工具链完整,调试体验最佳
- 版本管理:使用SDKMAN!
- 存储位置:
~/projects/java
- C/C++/Rust工具链
- 原因:Linux下编译工具链更完整
- 存储位置:
~/projects/native
(WSL文件系统内)
Docker容器
- PHP开发环境
- 原因:版本切换频繁,依赖隔离需求高
- 版本管理:Docker images
- 存储位置:
~/projects/php
2. 目录结构
D:\DevSpace\
├── web\
│ ├── vue-projects\
│ └── node-projects\
└── tools\ # 工具和配置文件
WSL2 ~/projects/
├── python\
├── go\
├── java\
├── php\
├── native\
└── tools\
3. 环境配置
Windows配置
cache=D:\DevSpace\tools\npm-cache
prefix=D:\DevSpace\tools\npm-global
WSL2配置
1. Python环境
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
export PIP_CACHE_DIR="$HOME/.cache/pip"
1. Go环境
export GOPATH="$HOME/projects/go"
export GO111MODULE=on
export GOPROXY=https://goproxy.cn,direct
1. Java Maven仓库
<settings>
<localRepository>/data/maven_repository</localRepository>
</settings>
1. Rust环境
export CARGO_HOME="$HOME/.cargo"
export RUSTUP_HOME="$HOME/.rustup"
Docker配置
version: '3.8'
services:
php74:
image: php:7.4-fpm
volumes:
- ./src:/var/www/html
working_dir: /var/www/html
4. 性能优化配置
[wsl2]
memory=8GB
processors=4
localhostForwarding=true
5. 空间管理脚本
1. 清理npm缓存
npm cache clean --force
1. 清理Docker资源
docker system prune -af --volumes
#!/bin/bash
1. 清理pip缓存
pip cache purge
1. 清理Maven仓库
Get-ChildItem /data/maven_repository -Recurse -Include *lastUpdated* | Remove-Item
1. 清理Go模块缓存
go clean -modcache
1. 清理Rust缓存
cargo cache -a
以上配置可以确保:
- 避免WSL与Windows之间的文件系统跨越访问
- 各语言环境相对独立且易于维护
- 依赖包统一管理且易于清理
- 开发工具链运行在最适合的环境中