Files
env/README.md
爱喝水的木子 8150e8c931 Update README.md
2026-03-23 13:50:43 +08:00

152 lines
3.7 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.
![](./img.png)
# 环境安装与卸载脚本
这个仓库提供了一组独立的 Shell 脚本,用于安装和卸载常见开发环境工具,适合在 Linux 和 macOS 上快速初始化开发机器。
## 文件说明
- `install.sh`:总安装入口,支持交互式选择或命令行按需安装。
- `install-docker.sh`:单独安装 Docker。
- `install-nvm.sh`:单独安装 NVM并自动安装 Node.js LTS。
- `install-mambaconda.sh`:单独安装 Mambaconda默认安装到 `$HOME/mambaconda`
- `tmp.log`:安装过程日志示例文件,用于排查安装问题和核对执行输出。
- `uninstall.sh`:总卸载入口,支持交互式选择或命令行按需卸载。
- `uninstall-docker.sh`:单独卸载 Docker默认保留 Docker 数据。
- `uninstall-nvm.sh`:单独卸载 NVM并清理脚本追加的 Shell 初始化配置。
- `uninstall-mambaconda.sh`:单独卸载 Mambaconda并清理脚本追加的 Shell 初始化配置。
## 支持平台
- Linux
- macOS
## 安装用法
总入口安装:
```bash
bash install.sh
```
自用conda、nvm
```bash
wget https://raw.githubusercontent.com/ice-a/env/master/install_muzi.sh
# 后续步骤同上:赋权 + 执行
chmod +x install_muzi.sh
./install_muzi.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 数据目录。
## 关于 `tmp.log`
仓库中的 `tmp.log` 是一次安装过程的输出日志示例,主要用于:
- 查看脚本在真实环境中的执行顺序
- 排查下载失败、权限不足、源不可达等问题
- 核对安装完成后的版本输出和提示信息
常见查看方式:
```bash
cat tmp.log
tail -n 50 tmp.log
grep ERROR tmp.log
grep WARN tmp.log
```
说明:
- `tmp.log` 不是脚本运行时强制生成的文件,它更像一份调试或留档日志。
- 如果你需要记录自己的安装过程,可以手动重定向输出,例如:
```bash
bash install.sh all > tmp.log 2>&1
```
- 如果终端里看到中文乱码,通常是终端编码问题,不一定是日志内容损坏。
如果需要在卸载 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`:当前脚本执行完成
同时会显示阶段标题,便于在安装或卸载过程中快速定位当前步骤。