Wsl2DebianEnv/README.md
2025-03-27 13:49:19 +08:00

259 lines
6.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# WSL2 Debian 开发环境配置
这是一个用于在 Windows 11 上配置 WSL2 Debian 开发环境的项目。该项目提供了一系列脚本来自动化安装和配置各种开发工具和环境。
## 功能特性
### 基础系统环境
- 安装 WSL2 Debian
- 系统更新和配置
- 配置镜像源
- 安装基础工具
- WSL2 环境检查Windows 端)
- WSL2 环境检查Linux 端)
### Shell 环境
- 安装和配置 Zsh
- 安装常用 Zsh 插件
- zsh-autosuggestions
- zsh-syntax-highlighting
- zsh-completions
- autojump
- fzf
- zsh-nvm
- pyenv
### 编辑器环境
- 安装和配置 Neovim
- 安装常用 Neovim 插件
- 配置 NvChad
### 开发工具链
- Docker 和 Docker Compose
- Go 语言环境
- Node.js 环境
- Python 环境
- PHP 开发环境(使用 DNMP
### 系统工具
- Git 配置和工具
- 系统监控工具
- 网络工具
- 安全工具
- 终端工具
- 开发效率工具
## 项目结构
```
.
├── README.md
├── init.sh
└── scripts/
├── shell/
│ ├── zsh.sh
│ └── plugins.sh
├── editor/
│ ├── neovim.sh
│ └── nvchad.sh
├── devtools/
│ ├── docker.sh
│ ├── go.sh
│ ├── node.sh
│ └── python.sh
├── php/
│ └── dnmp.sh
├── system/
│ ├── check_windows_wsl.bat
│ └── check_wsl.sh
└── utils/
├── git.sh
└── tools.sh
```
## 使用方法
### 系统要求
- Windows 11
- WSL2
- Debian 12
### 安装步骤
1. 克隆项目
```bash
git clone https://github.com/yourusername/wsl2-debian-init.git
cd wsl2-debian-init
```
2. 检查 Windows 上的 WSL2 环境(在 CMD 中运行)
```cmd
scripts\system\check_windows_wsl.bat
```
3. 检查 WSL2 内部环境(在 WSL 终端中运行)
```bash
./scripts/system/check_wsl.sh
```
4. 运行初始化脚本
```bash
./init.sh
```
5. 按需运行各个模块的安装脚本
```bash
# 安装 Shell 环境
./scripts/shell/zsh.sh
./scripts/shell/plugins.sh
# 安装编辑器环境
./scripts/editor/neovim.sh
./scripts/editor/nvchad.sh
# 安装开发工具链
./scripts/devtools/docker.sh
./scripts/devtools/go.sh
./scripts/devtools/node.sh
./scripts/devtools/python.sh
# 安装 PHP 开发环境
./scripts/php/dnmp.sh
# 安装系统工具
./scripts/utils/git.sh
./scripts/utils/tools.sh
```
## 脚本说明
### 系统环境脚本
- `scripts/system/check_windows_wsl.bat`: 在 Windows 端检查 WSL2 环境,包括:
- Windows 版本检查
- WSL 安装检查
- WSL2 状态检查
- 虚拟化检查
- Debian 安装检查
- Windows 功能检查
- `scripts/system/check_wsl.sh`: 在 WSL 端检查环境,包括:
- Windows 版本检查
- WSL 版本检查
- 系统要求检查
- Debian 版本检查
- 系统更新检查
- 必要组件检查
- 网络连接检查
- WSL 配置检查
### Shell 环境脚本
- `scripts/shell/zsh.sh`: 安装和配置 Zsh
- `scripts/shell/plugins.sh`: 安装常用 Zsh 插件
### 编辑器环境脚本
- `scripts/editor/neovim.sh`: 安装和配置 Neovim
- 自动检查并安装 Neovim 0.10.0 或更高版本
- 自动安装必要的依赖GCC、Make、Python3、Node.js等
- 配置 Python 和 Node.js 支持
- 使用方法:`sudo ./scripts/editor/neovim.sh`
- `scripts/editor/nvchad.sh`: 配置 NvChad
- 自动安装 NvChad 及其依赖
- 配置基本的 LSP 支持Lua、Python、TypeScript等
- 配置常用快捷键和主题
- 使用方法:
1. 先安装 Neovim`sudo ./scripts/editor/neovim.sh`
2. 再安装 NvChad`sudo ./scripts/editor/nvchad.sh`
3. 启动 Neovim 并等待插件安装完成:`nvim`
4. 安装 LSP 服务器:在 Neovim 中运行 `:MasonInstallAll`
### 开发工具链脚本
- `scripts/devtools/docker.sh`: 安装 Docker 和 Docker Compose
- `scripts/devtools/go.sh`: 安装 Go 语言环境
- `scripts/devtools/node.sh`: 安装 Node.js 环境
- `scripts/devtools/python.sh`: 安装 Python 环境
### PHP 开发环境脚本
- `scripts/php/dnmp.sh`: 安装和配置 PHP 开发环境(使用 DNMP
- 自动安装 Docker 和 DNMP 环境
- 配置 PHP 8.2、MySQL 8.0、Redis 7.0 等最新版本
- 提供优雅的 PHP 和 Composer 命令别名
- 支持 Laravel 开发环境
- 使用方法:
1. 运行安装脚本:`sudo ./scripts/php/dnmp.sh`
2. 使别名生效:`source ~/.zshrc``source ~/.bashrc`
3. 访问 http://localhost 查看 PHP 信息页面
#### PHP 开发环境特性
1. 优雅的命令行工具
- 直接在宿主机使用 `php` 命令:`php -v`
- 直接在宿主机使用 `composer` 命令:`composer install`
- 所有命令都会在 Docker 容器中执行,无需进入容器
2. Laravel 开发支持
- 提供常用 Laravel 命令别名:
- `laravel`: 执行 artisan 命令
- `laravel-make`: 创建新的 Laravel 组件
- `laravel-migrate`: 执行数据库迁移
- `laravel-seed`: 执行数据库填充
- `laravel-test`: 运行测试
- `laravel-route`: 查看路由列表
- `laravel-config`: 清除配置缓存
- `laravel-cache`: 清除应用缓存
- `laravel-view`: 清除视图缓存
- `laravel-optimize`: 优化应用
3. 开发工具支持
- PHPUnit 测试框架
- PHP_CodeSniffer 代码规范检查
- PHP_CodeBeautifier 代码格式化
4. 默认配置
- MySQL 密码123456
- Redis 密码123456
- 安装目录:/opt/dnmp
- 网站目录:/opt/dnmp/www
5. 常用命令
- `dphp`: 进入 PHP 容器
- `dcomposer`: 在容器中执行 Composer 命令
- `dphpunit`: 执行 PHPUnit 测试
- `dphpcs`: 执行代码规范检查
- `dphpcbf`: 执行代码格式化
6. 注意事项
- 首次使用 Composer 时,建议配置国内镜像:
```bash
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
```
- 如果遇到权限问题,请确保当前用户在 docker 组中
- 建议在项目根目录下创建 `.env` 文件配置数据库连接信息
### 系统工具脚本
- `scripts/utils/git.sh`: 配置 Git 和安装 Git 工具
- `scripts/utils/tools.sh`: 安装各种系统工具和开发效率工具
## 常见问题
1. 如果遇到权限问题,请使用 `sudo` 运行脚本
2. 如果遇到网络问题,请检查网络连接或使用代理
3. 如果遇到依赖问题,请先运行 `sudo apt-get update && sudo apt-get upgrade`
## 贡献指南
欢迎提交 Issue 和 Pull Request 来帮助改进这个项目。
## 许可证
MIT License
### 常用快捷键
- `<Space>` + `th`: 切换主题
- `<Space>` + `ff`: 查找文件
- `<Space>` + `fw`: 查找文本
- `<Space>` + `ch`: 查看所有快捷键
- `<Ctrl>` + `h/j/k/l`: 窗口导航
- `<Ctrl>` + `s`: 保存文件
- `jk`: 退出插入模式
- `<Tab>`: 切换到下一个缓冲区
- `<Shift>` + `<Tab>`: 切换到上一个缓冲区