mise bootstrap
- 用法:
mise bootstrap [FLAGS] [SUBCOMMAND] - 别名:
bs - 效果: 具有破坏性——可能删除或不可逆地覆盖
- 源代码:
src/cli/bootstrap.rs
使用一条命令为当前配置设置机器
按顺序执行当前配置的引导步骤:
mise bootstrap accounts apply— 收敛[bootstrap.users]和[bootstrap.groups](Linux)mise bootstrap plugins apply— 安装[bootstrap.plugins]1.7.[bootstrap.hooks.pre-packages]— 可选设置钩子- 安装
[bootstrap.packages]中由内置管理器管理的条目 mise bootstrap files apply— 收敛[bootstrap.files]和[bootstrap.directories]mise bootstrap services apply— 收敛[bootstrap.services]systemd 系统服务(Linux)mise bootstrap firewall apply— 收敛[bootstrap.linux.firewall]主机防火墙策略和规则(Linux)mise bootstrap compose apply— 收敛[bootstrap.compose]Docker Compose 项目mise bootstrap repos apply— 克隆/收敛[bootstrap.repos], 并在pre-repos/post-repos钩子之间执行mise bootstrap dotfiles apply— 应用[dotfiles]中的点文件, 并在pre-dotfiles/post-dotfiles钩子之间执行mise bootstrap mise-shell-activate apply— 根据[bootstrap.mise_shell_activate]配置 shell 激活mise bootstrap macos defaults apply— 写入
`[bootstrap.macos.defaults]` 条目(macOS)
并在 `pre-defaults`/`post-defaults` 钩子之间执行mise bootstrap macos launchd-agents apply— 安装/加载
`[bootstrap.macos.launchd.agents]`mise bootstrap linux systemd-units apply— 安装/启动
`[bootstrap.linux.systemd.units]`mise bootstrap user apply— 设置[bootstrap.user].login_shell
(Unix)
并在 `pre-user`/`post-user` 钩子之间执行mise install— 安装[tools]中缺失的工具
并在 `pre-tools`/`post-tools` 钩子之间执行;来自
`[bootstrap.packages]` 的包插件条目随后安装,之后执行
`[bootstrap.hooks.post-packages]`mise run bootstrap— 如果定义了名为bootstrap的任务[bootstrap.hooks.final]— 可选的最终钩子
这些声明式步骤会趋于收敛——任何已经处于期望状态的内容 都会被跳过,因此重复运行是安全的。bootstrap 任务会在每次 调用时运行;请保持其幂等性。可将其用于任何不适合声明式部分的 项目特定设置(如初始化数据库、认证流程等)——它会在 PATH 上已安装工具的环境中运行。
使用 --skip <part> 跳过指定部分,或使用 --only <part> 仅运行 指定部分。这两个标志都可以重复使用或以逗号分隔,但不能同时使用。
标志
--from <GIT_URL>— 克隆 git 仓库并从其配置进行引导--from-dir <DIR>— 用于存放通过 --from 克隆的仓库的目录-n --dry-run— 打印将执行的操作,但不安装任何内容-y --yes— 跳过确认提示--skip-dirty— 跳过存在本地更改的已配置仓库,而不是直接失败--force-dotfiles— 覆盖与整文件点文件条目冲突的现有文件--only <ONLY>— 仅运行一个或多个引导部分可以多次传入,或以逗号分隔的列表形式传入。不能与
--skip一起使用。选项:
plugins、packages、accounts、files、services、firewall、compose、repos、dotfiles、mise-shell-activate、macos-defaults、macos-launchd-agents、linux-systemd-units、user、tools、task、final-hook、shell、defaults、launchd、systemd--prompt-secrets— 安全地提示输入缺失的引导机密--skip <SKIP>— 跳过一个或多个引导部分可以多次传入,或以逗号分隔的列表形式传入。
选项:
plugins、packages、accounts、files、services、firewall、compose、repos、dotfiles、mise-shell-activate、macos-defaults、macos-launchd-agents、linux-systemd-units、user、tools、task、final-hook、shell、defaults、launchd、systemd--update— 刷新包管理器元数据并更新已配置的仓库-h --help— 打印帮助
示例:
mise bootstrap # packages + repos + dotfiles + tools + bootstrap task
mise -E work bootstrap --from [email protected]:example/dotfiles.git --yes
mise bootstrap --force-dotfiles # replace conflicting dotfile targets
mise bootstrap --skip tools,task # skip tool installation and the bootstrap task
mise bootstrap --only tools # run just tool installation
mise bootstrap status --missing
mise bootstrap packages apply --yes
mise bootstrap repos status
mise bootstrap repos apply --dry-run
mise bootstrap dotfiles status
mise bootstrap mise-shell-activate apply --dry-run
mise bootstrap macos defaults status
mise bootstrap macos launchd-agents apply --dry-run
mise bootstrap linux systemd-units apply --dry-run
mise bootstrap user apply --dry-run