Add modular install and uninstall scripts
This commit is contained in:
114
README.md
Normal file
114
README.md
Normal file
@@ -0,0 +1,114 @@
|
||||
# 环境安装与卸载脚本
|
||||
|
||||
这个仓库提供了一组独立的 Shell 脚本,用于安装和卸载常见开发环境工具,适合在 Linux 和 macOS 上快速初始化开发机器。
|
||||
|
||||
## 文件说明
|
||||
|
||||
- `install.sh`:总安装入口,支持交互式选择或命令行按需安装。
|
||||
- `install-docker.sh`:单独安装 Docker。
|
||||
- `install-nvm.sh`:单独安装 NVM,并自动安装 Node.js LTS。
|
||||
- `install-mambaconda.sh`:单独安装 Mambaconda,默认安装到 `$HOME/mambaconda`。
|
||||
- `uninstall.sh`:总卸载入口,支持交互式选择或命令行按需卸载。
|
||||
- `uninstall-docker.sh`:单独卸载 Docker,默认保留 Docker 数据。
|
||||
- `uninstall-nvm.sh`:单独卸载 NVM,并清理脚本追加的 Shell 初始化配置。
|
||||
- `uninstall-mambaconda.sh`:单独卸载 Mambaconda,并清理脚本追加的 Shell 初始化配置。
|
||||
|
||||
## 支持平台
|
||||
|
||||
- Linux
|
||||
- macOS
|
||||
|
||||
## 安装用法
|
||||
|
||||
总入口安装:
|
||||
|
||||
```bash
|
||||
bash install.sh
|
||||
```
|
||||
|
||||
常见用法:
|
||||
|
||||
```bash
|
||||
bash install.sh all
|
||||
bash install.sh docker
|
||||
bash install.sh nvm mambaconda
|
||||
```
|
||||
|
||||
也可以直接执行单独脚本:
|
||||
|
||||
```bash
|
||||
bash install-docker.sh
|
||||
bash install-nvm.sh
|
||||
bash install-mambaconda.sh
|
||||
```
|
||||
|
||||
`install.sh` 支持以下模式:
|
||||
|
||||
- 不带参数:交互式选择安装项
|
||||
- `all`:安装全部工具
|
||||
- `docker` / `nvm` / `mambaconda`:安装指定工具
|
||||
- 多个参数组合:安装多个指定工具
|
||||
|
||||
## 卸载用法
|
||||
|
||||
总入口卸载:
|
||||
|
||||
```bash
|
||||
bash uninstall.sh
|
||||
```
|
||||
|
||||
常见用法:
|
||||
|
||||
```bash
|
||||
bash uninstall.sh all
|
||||
bash uninstall.sh docker
|
||||
bash uninstall.sh nvm mambaconda
|
||||
```
|
||||
|
||||
也可以直接执行单独脚本:
|
||||
|
||||
```bash
|
||||
bash uninstall-docker.sh
|
||||
bash uninstall-nvm.sh
|
||||
bash uninstall-mambaconda.sh
|
||||
```
|
||||
|
||||
`uninstall.sh` 支持以下模式:
|
||||
|
||||
- 不带参数:交互式选择卸载项
|
||||
- `all`:卸载全部工具
|
||||
- `docker` / `nvm` / `mambaconda`:卸载指定工具
|
||||
- 多个参数组合:卸载多个指定工具
|
||||
|
||||
## 默认行为说明
|
||||
|
||||
- `install-nvm.sh` 会配置 Node.js 国内镜像和 npm 国内源。
|
||||
- `install-mambaconda.sh` 会写入 `~/.condarc`,并使用国内镜像源。
|
||||
- `install-mambaconda.sh` 默认会安装 Python 3.10。
|
||||
- `uninstall-docker.sh` 默认不会删除 Docker 数据目录。
|
||||
|
||||
如果需要在卸载 Docker 时同时删除数据,可使用:
|
||||
|
||||
```bash
|
||||
REMOVE_DOCKER_DATA=1 bash uninstall-docker.sh
|
||||
```
|
||||
|
||||
## 安装后验证
|
||||
|
||||
```bash
|
||||
docker --version
|
||||
docker compose version
|
||||
nvm --version && node --version && npm --version
|
||||
conda --version && python --version
|
||||
```
|
||||
|
||||
## 输出风格
|
||||
|
||||
现在所有入口脚本和子脚本都会使用统一的输出格式:
|
||||
|
||||
- `INFO`:普通步骤提示
|
||||
- `WARN`:非阻断警告
|
||||
- `ERROR`:错误并退出
|
||||
- `DONE`:当前脚本执行完成
|
||||
|
||||
同时会显示阶段标题,便于在安装或卸载过程中快速定位当前步骤。
|
||||
Reference in New Issue
Block a user