ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

mise 报 “not found in mise tool registry“ 时该怎么选后端?

mise 报 “not found in mise tool registry“ 时该怎么选后端? mise 报 not found in mise tool registry 时该怎么选后端【免费下载链接】misedev tools, env vars, task runner项目地址: https://gitcode.com/GitHub_Trending/mi/mise当你用mise use、mise install或mise exec安装一个工具时mise 报出类似tool not found in mise tool registry的错误意味着你使用的工具名在 mise 的注册表registry里没有对应的短名条目。mise 的注册表只把短名映射给比较流行的工具没有短名不等于这个工具装不了——你可以显式指定一个后端让 mise 直接从上游GitHub Releases、crates.io、npm 等下载。本文基于项目文档docs/errors.md、docs/registry.md、docs/dev-tools/backends/index.md给出从判错到安装成功的完整路径。先区分是拼写错误还是确实没有注册表条目docs/errors.md对这条错误的判断顺序是如果报错里带有Did you mean?候选列表先检查拼写。确认没有拼写错误后用注册表搜索确认条目是否存在mise registry # 列出注册表中的所有工具 mise registry aws-cli # 查询某个具体工具mise registry没有输出该工具说明它没有短名进入下一步选一个支持该工具的后端。还有一种情况条目存在但你安装的 mise 版本较旧捆绑的注册表快照里没有它。docs/registry.md 说明默认使用与当前 mise 版本一起测试的注册表快照升级 mise 是首选做法。如果系统包管理器分发 mise 很慢可以按文档的说明启用浮动注册表文档原文命令如下mise settings set registry_floating true启用后 mise 会拉取最新发布附带的注册表数据捆绑快照仍作为远程加载失败时的回退。文档同时提示如果更新版本的 mise 可用更新 mise 仍然是优先项。按工具的发布方式选后端docs/errors.md给出的处理方式是选一个支持该工具的后端用显式后端语法安装。以下命令是文档中的语法示例仓库名、包名需替换为你要装的工具文档原文明确提示要替换mise use aqua:owner/repo # if its in the aqua registry mise use github:owner/repo # GitHub releases mise use cargo:some-tool # crates.io mise use npm:some-tool # npm选择依据见 docs/dev-tools/backends/index.md 的对照表——关键是确认工具实际从哪个来源分发工具的发布形式可选后端要确认的点签名发布清单Packslip发布者必须提供 Packslip releases 和可验证的签名者精选二进制配方Aquaaqua 注册表里有该工具和平台的条目不需要安装 aqua CLIRelease 资产GitHub、GitLab、ForgejoRelease 里必须包含你平台可安装的资产直接下载HTTP、S3需要提供下载 URL 和版本发现来源语言包生态Cargo、Go、npm、pipx、gem、.NET 等需要满足对应后端文档说明的运行时和构建前置条件docs/registry.md 还说明了各后端在注册表新条目评审中的接受层级Packslip 为首选发布方提供签名清单时Aqua/GitHub/GitLab 常规接受Conda 门槛较高pipx/npm/gem/go/cargo/dotnet 门槛很高且依赖语言运行时。注意这些层级约束的是注册表收录不限制你自己使用——文档明确写道Users can still install via any backend themselves with explicit syntax (mise use vfox:owner/repo,mise use cargo:name, etc.)两个与选后端直接相关的限制来自docs/registry.md后端必须支持该项目的发布结构或包格式仓库在 GitHub 上存在本身并不足够a repository existing on GitHub is not sufficient by itself。语言类后端有运行时依赖npm 工具需要 PATH 上有nodecargo 工具需要本机装好cargo来编译gem 需要ruby。选后端前先确认这些前置条件。先确认后端能解析到版本再安装选定后端后先用mise ls-remote验证它能列出可安装版本避免装到一半才发现没有可用资产mise ls-remote github:owner/repo以github:BurntSushi/ripgrep为例docs/dev-tools/backends/github.md 的原文示例mise ls-remote github:BurntSushi/ripgrep mise use github:BurntSushi/ripgrepGitHub 后端的版本列表有一个值得注意的行为同一文档没有附带资产的 Release 不会出现在列表里因为 mise 只从 Release 上传的资产安装不会回退到自动生成的源码压缩包。所以ls-remote能列出版本说明该后端至少解析到了可安装的 Release列不出则换后端或检查发布结构。安装并验证结果mise use会安装工具并把声明写入当前项目的mise.toml。上面 GitHub 后端的文档示例mise use github:BurntSushi/ripgrep mise exec -- rg --version执行后mise.toml记录文档原文示例[tools] github:BurntSushi/ripgrep latest验证以 docs/dev-tools/backends/index.md 的说法为准版本列表能列出并不保证发布者给你的 OS/架构提供了资产要用mise exec -- command --version检查安装结果和实际可执行文件。如果选择失败文档指出各后端指南里说明了其资产命名、认证和平台选项例如 GitHub 后端的asset_pattern、matching、platforms等工具选项。可选固定某个工具的后端如果某个工具希望长期走特定后端docs/registry.md提供环境变量覆盖优先级最高覆盖注册表和别名配置# Use vfox backend for php export MISE_BACKENDS_PHPvfox:mise-plugins/vfox-php mise install phplatest工具名在环境变量里用 SHOUTY_SNAKE_CASE大写加下划线例如my-tool对应MISE_BACKENDS_MY_TOOL。项目级别的固定方式是用[tool_alias]指定后端docs/dev-tools/aliases.md例如把node固定到内置核心后端[tool_alias] node core:node [tools] node 24用mise tool node检查别名生效后实际选中的后端再运行mise install安装。注意文档提示已显式安装的插件可以覆盖同名短名的选择如果实际选中的后端与预期不符可参考后端选择机制一节。限制与已知边界用裸后端语法如cargo:some-crate配置的工具docs/dev-tools/index.md 指出有一个实际影响command-not-found 自动安装机制依赖注册表的 bin 元数据来识别提供某个可执行文件的工具而裸后端配置不携带这类元数据所以命令未找到时自动安装不会为它们触发。这类工具要显式mise install或用mise x一步完成安装并运行。最后保留文档对显式后端语法的完整提醒docs/errors.md显式后端语法可以避免注册表条目但后端仍然需要一个兼容的包或发布资产以及该后端要求的运行时——选对后端解决的是从哪里找的问题不保证上游发布了你平台的资产。【免费下载链接】misedev tools, env vars, task runner项目地址: https://gitcode.com/GitHub_Trending/mi/mise创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表