跳转到内容

mise lock

  • 用法: mise lock [FLAGS] [TOOL]…
  • 效果: 修改状态
  • 源代码: src/cli/lock.rs

更新所有指定平台的锁文件校验和和 URL

更新锁文件中已指定的所有平台的校验和和下载 URL。 如果不存在锁文件,则根据当前配置显示将要创建的内容, 包括任务声明的工具。 这使你能够刷新当前使用平台之外的其他平台的锁文件数据。 操作当前配置根目录中的锁文件。使用 TOOL 参数可指定要定位的工具。

参数

  • [TOOL]… — 要在锁文件中更新的工具 例如:node python 如果未指定,将更新所有已配置的工具和任务专用工具

标志

  • -g --global — 仅定位全局配置锁文件(~/.config/mise/mise.lock 和系统配置) 默认情况下,仅锁定活动项目配置根目录

  • -j --jobs <JOBS> — 并行运行的任务数 小于 1 的值将按 1 处理

    环境变量: MISE_JOBS

  • -n --dry-run — 显示将要更新的内容,但不进行更改

  • -p --platform <PLATFORM> — 要定位的平台列表,以逗号分隔 例如:linux-x64,macos-arm64,windows-x64 如果未指定,将更新锁文件中已有的所有平台

  • --bump — 根据最新可用版本重新解析模糊版本选择器

    默认情况下,mise lock 会刷新当前锁定版本的元数据。 使用此标志后,诸如 "latest"、"lts" 或 "20" 这样的前缀选择器 会根据远程端最新的匹配版本重新解析,因此锁文件会推进,而不会安装任何内容。配置文件不会被修改: 明确固定的版本会解析为自身并保持不变 (使用 mise upgrade --bump 可重写 mise.toml 中的固定版本)。

  • --json — 以 JSON 格式输出版本变更

    输出一个描述锁文件版本变更的对象数组: name、backend、lockfile、old_versions、new_versions。 版本列表保留配置文件/锁文件中的顺序,不会排序。 只报告版本级别的变更:未变更版本的校验和/URL 刷新不会生成条目,因此普通的 mise lock --json 通常会输出 [],同时仍然更新锁文件。 抑制人类可读的输出。与 --dry-run 结合使用,可以在不写入锁文件的情况下检测可用更新。

  • --local — 更新 mise.local.lock,而不是 mise.lock 用于在 .local.toml 配置中定义的工具

  • --minimum-release-age <MINIMUM_RELEASE_AGE> — 仅锁定在此时间长度或日期之前发布的版本

    支持类似 "2024-06-01" 的绝对日期和类似 "90d" 或 "1y" 的相对时长。 这只影响类似 "20" 或 "latest" 的模糊版本匹配。 明确固定的版本,如 "22.5.0",不会被筛选。 现有的匹配锁文件条目会被保留,不会仅因该标志而降级。

  • --upgrade — 将旧版锁文件升级为最新格式

    现有的无版本锁文件使用格式版本 0,并以其他方式保留,以避免锁文件意外漂移。此标志会将它们 升级为包含特定请求版本绑定的最新格式。 格式升级始终处理每个已配置的工具,且不能与工具参数结合使用。

  • -h --help — 打印帮助

示例:

mise lock                       # 为所有通用平台更新锁文件
mise lock node python           # 仅更新 node 和 python
mise lock --platform linux-x64  # 仅更新 linux-x64 平台
mise lock --dry-run             # 显示将会更新的内容
mise lock --bump                # 将 "latest" 或 "20" 等选择器重新解析为最新的匹配版本
mise lock --bump --dry-run --json   # 以 JSON 格式列出可用更新,但不写入
mise lock --minimum-release-age 2024-01-01   # 锁定在 2024-01-01 之前发布的 latest/模糊版本
mise lock --local               # 为本地配置更新 mise.local.lock
mise lock --global              # 仅更新全局配置锁文件