mise use
- 用法:
mise use [FLAGS] [TOOL@VERSION]… - 别名:
u - 效果: 修改状态
- 源代码:
src/cli/use.rs
安装一个工具并将版本添加到 mise.toml 中。
如果尚未安装该工具版本,将会安装它。 默认情况下,将使用当前目录中的 mise.toml 文件。 如果存在多个配置文件(例如同时存在 mise.toml 和 mise.local.toml),将使用优先级最低的文件(mise.toml)。 参见 https://mise.jdx.dev/configuration.html#target-file-for-write-operations
按以下顺序:
- 如果设置了
--global,将使用全局配置文件。 - 如果设置了
--path,将使用指定路径下的配置文件。 - 如果设置了
--env,将使用mise.<env>.toml。 - 如果设置了
MISE_DEFAULT_CONFIG_FILENAME,将改用该文件。 - 如果设置了
MISE_OVERRIDE_CONFIG_FILENAMES,将使用列表中的第一个文件。 - 否则使用
mise.toml;如果当前工作目录是主目录,则使用全局配置文件。
使用 MISE_GLOBAL_CONFIG_FILE 来选择其他全局配置路径。
使用 --global 标志来改用全局配置文件。
Arguments
<TOOL@VERSION>— 要添加到配置文件中的工具例如:node@20、cargo:ripgrep@latest、npm:prettier@3 如果未指定版本,则默认为 @latest
可以使用以下语法设置工具选项:
mise use ubi:BurntSushi/ripgrep[exe=rg]
标志
-e --env <ENV>— 创建或修改特定环境的配置文件,例如 .mise.<env>.toml-f --force— 即使已安装,也强制重新安装-g --global— 使用全局配置文件(~/.config/mise/config.toml)而不是本地配置文件-j --jobs <JOBS>— 要并行运行的任务数 小于 1 的值将按 1 处理 [默认值:4]环境变量:
MISE_JOBS-n --dry-run— 执行试运行,显示将要安装和修改的内容,但不进行更改-p --path <PATH>— 指定配置文件或目录的路径如果指定的是目录,将按照上述规则在该目录中查找配置文件。
--dry-run-code— 类似于 --dry-run,但如果有要进行的更改,则以代码 1 退出这对于脚本检查是否需要添加或移除工具很有用。
--fuzzy— 将模糊版本保存到配置文件例如:
mise use --fuzzy node@20会将 20 作为版本保存 除非设置了MISE_PIN=1,否则这是默认行为--minimum-release-age <MINIMUM_RELEASE_AGE>— 仅安装在此日期之前发布或早于此时长的版本支持类似 "2024-06-01" 的绝对日期和类似 "90d" 或 "1y" 的相对时长。
--pin— 将解析得到的具体版本保存到配置文件如果请求与可用版本完全匹配,则优先选择该版本,而不是已安装的模糊匹配版本。使用
prefix:可显式请求递归前缀匹配。 例如:mise use --pin node@20会保存解析得到的20.x.y版本 设置MISE_PIN=1可使其成为默认行为可以考虑使用 mise.lock 作为在 mise.toml 中固定版本的更好替代方案: https://mise.jdx.dev/configuration/settings.html#lockfile
--raw— 将后端安装命令的标准输入、标准输出和标准错误直接连接到终端。隐含--jobs=1--remove <TOOL>— 从配置文件中移除工具-h --help— 显示帮助--postinstall <COMMAND>— 安装此工具后要运行的命令
示例:
# 不带参数运行以使用交互式选择器
$ mise use
# 将当前目录 mise.toml 中的 node 当前版本设置为 20.x
# 会写入模糊版本(例如:20)
$ mise use node@20
# run a command after installing a tool
$ mise use --postinstall "mbx setup --defaults" mr-boxington
# associate a different postinstall command with each tool
$ mise use --postinstall "setup-a" tool-a --postinstall "setup-b" tool-b
# set the current version of node to 20.x in ~/.config/mise/config.toml
# will write the precise version (e.g.: 20.0.0)
$ mise use -g --pin node@20
# 设置 .mise.local.toml(其目的不是提交到项目中)
$ mise use --env local node@20
# 设置 .mise.staging.toml(当 MISE_ENV=staging 时使用)
$ mise use --env staging node@20