 “not found in mise tool registry“ 時(shí)該怎么選后端?)
mise 報(bào) not found in mise tool registry 時(shí)該怎么選后端【免費(fèi)下載鏈接】misedev tools, env vars, task runner項(xiàng)目地址: https://gitcode.com/GitHub_Trending/mi/mise當(dāng)你用mise use、mise install或mise exec安裝一個(gè)工具時(shí)mise 報(bào)出類似tool not found in mise tool registry的錯(cuò)誤意味著你使用的工具名在 mise 的注冊表registry里沒有對應(yīng)的短名條目。mise 的注冊表只把短名映射給比較流行的工具沒有短名不等于這個(gè)工具裝不了——你可以顯式指定一個(gè)后端讓 mise 直接從上游GitHub Releases、crates.io、npm 等下載。本文基于項(xiàng)目文檔docs/errors.md、docs/registry.md、docs/dev-tools/backends/index.md給出從判錯(cuò)到安裝成功的完整路徑。先區(qū)分是拼寫錯(cuò)誤還是確實(shí)沒有注冊表?xiàng)l目docs/errors.md對這條錯(cuò)誤的判斷順序是如果報(bào)錯(cuò)里帶有Did you mean?候選列表先檢查拼寫。確認(rèn)沒有拼寫錯(cuò)誤后用注冊表搜索確認(rèn)條目是否存在mise registry # 列出注冊表中的所有工具 mise registry aws-cli # 查詢某個(gè)具體工具mise registry沒有輸出該工具說明它沒有短名進(jìn)入下一步選一個(gè)支持該工具的后端。還有一種情況條目存在但你安裝的 mise 版本較舊捆綁的注冊表快照里沒有它。docs/registry.md 說明默認(rèn)使用與當(dāng)前 mise 版本一起測試的注冊表快照升級(jí) mise 是首選做法。如果系統(tǒng)包管理器分發(fā) mise 很慢可以按文檔的說明啟用浮動(dòng)注冊表文檔原文命令如下mise settings set registry_floating true啟用后 mise 會(huì)拉取最新發(fā)布附帶的注冊表數(shù)據(jù)捆綁快照仍作為遠(yuǎn)程加載失敗時(shí)的回退。文檔同時(shí)提示如果更新版本的 mise 可用更新 mise 仍然是優(yōu)先項(xiàng)。按工具的發(fā)布方式選后端docs/errors.md給出的處理方式是選一個(gè)支持該工具的后端用顯式后端語法安裝。以下命令是文檔中的語法示例倉庫名、包名需替換為你要裝的工具文檔原文明確提示要替換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選擇依據(jù)見 docs/dev-tools/backends/index.md 的對照表——關(guān)鍵是確認(rèn)工具實(shí)際從哪個(gè)來源分發(fā)工具的發(fā)布形式可選后端要確認(rèn)的點(diǎn)簽名發(fā)布清單Packslip發(fā)布者必須提供 Packslip releases 和可驗(yàn)證的簽名者精選二進(jìn)制配方Aquaaqua 注冊表里有該工具和平臺(tái)的條目不需要安裝 aqua CLIRelease 資產(chǎn)GitHub、GitLab、ForgejoRelease 里必須包含你平臺(tái)可安裝的資產(chǎn)直接下載HTTP、S3需要提供下載 URL 和版本發(fā)現(xiàn)來源語言包生態(tài)Cargo、Go、npm、pipx、gem、.NET 等需要滿足對應(yīng)后端文檔說明的運(yùn)行時(shí)和構(gòu)建前置條件docs/registry.md 還說明了各后端在注冊表新條目評(píng)審中的接受層級(jí)Packslip 為首選發(fā)布方提供簽名清單時(shí)Aqua/GitHub/GitLab 常規(guī)接受Conda 門檻較高pipx/npm/gem/go/cargo/dotnet 門檻很高且依賴語言運(yùn)行時(shí)。注意這些層級(jí)約束的是注冊表收錄不限制你自己使用——文檔明確寫道Users can still install via any backend themselves with explicit syntax (mise use vfox:owner/repo,mise use cargo:name, etc.)兩個(gè)與選后端直接相關(guān)的限制來自docs/registry.md后端必須支持該項(xiàng)目的發(fā)布結(jié)構(gòu)或包格式倉庫在 GitHub 上存在本身并不足夠a repository existing on GitHub is not sufficient by itself。語言類后端有運(yùn)行時(shí)依賴npm 工具需要 PATH 上有nodecargo 工具需要本機(jī)裝好cargo來編譯gem 需要ruby。選后端前先確認(rèn)這些前置條件。先確認(rèn)后端能解析到版本再安裝選定后端后先用mise ls-remote驗(yàn)證它能列出可安裝版本避免裝到一半才發(fā)現(xiàn)沒有可用資產(chǎn)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 后端的版本列表有一個(gè)值得注意的行為同一文檔沒有附帶資產(chǎn)的 Release 不會(huì)出現(xiàn)在列表里因?yàn)?mise 只從 Release 上傳的資產(chǎn)安裝不會(huì)回退到自動(dòng)生成的源碼壓縮包。所以ls-remote能列出版本說明該后端至少解析到了可安裝的 Release列不出則換后端或檢查發(fā)布結(jié)構(gòu)。安裝并驗(yàn)證結(jié)果mise use會(huì)安裝工具并把聲明寫入當(dāng)前項(xiàng)目的mise.toml。上面 GitHub 后端的文檔示例mise use github:BurntSushi/ripgrep mise exec -- rg --version執(zhí)行后mise.toml記錄文檔原文示例[tools] github:BurntSushi/ripgrep latest驗(yàn)證以 docs/dev-tools/backends/index.md 的說法為準(zhǔn)版本列表能列出并不保證發(fā)布者給你的 OS/架構(gòu)提供了資產(chǎn)要用mise exec -- command --version檢查安裝結(jié)果和實(shí)際可執(zhí)行文件。如果選擇失敗文檔指出各后端指南里說明了其資產(chǎn)命名、認(rèn)證和平臺(tái)選項(xiàng)例如 GitHub 后端的asset_pattern、matching、platforms等工具選項(xiàng)。可選固定某個(gè)工具的后端如果某個(gè)工具希望長期走特定后端docs/registry.md提供環(huán)境變量覆蓋優(yōu)先級(jí)最高覆蓋注冊表和別名配置# Use vfox backend for php export MISE_BACKENDS_PHPvfox:mise-plugins/vfox-php mise install phplatest工具名在環(huán)境變量里用 SHOUTY_SNAKE_CASE大寫加下劃線例如my-tool對應(yīng)MISE_BACKENDS_MY_TOOL。項(xiàng)目級(jí)別的固定方式是用[tool_alias]指定后端docs/dev-tools/aliases.md例如把node固定到內(nèi)置核心后端[tool_alias] node core:node [tools] node 24用mise tool node檢查別名生效后實(shí)際選中的后端再運(yùn)行mise install安裝。注意文檔提示已顯式安裝的插件可以覆蓋同名短名的選擇如果實(shí)際選中的后端與預(yù)期不符可參考后端選擇機(jī)制一節(jié)。限制與已知邊界用裸后端語法如cargo:some-crate配置的工具docs/dev-tools/index.md 指出有一個(gè)實(shí)際影響command-not-found 自動(dòng)安裝機(jī)制依賴注冊表的 bin 元數(shù)據(jù)來識(shí)別提供某個(gè)可執(zhí)行文件的工具而裸后端配置不攜帶這類元數(shù)據(jù)所以命令未找到時(shí)自動(dòng)安裝不會(huì)為它們觸發(fā)。這類工具要顯式mise install或用mise x一步完成安裝并運(yùn)行。最后保留文檔對顯式后端語法的完整提醒docs/errors.md顯式后端語法可以避免注冊表?xiàng)l目但后端仍然需要一個(gè)兼容的包或發(fā)布資產(chǎn)以及該后端要求的運(yùn)行時(shí)——選對后端解決的是從哪里找的問題不保證上游發(fā)布了你平臺(tái)的資產(chǎn)。【免費(fèi)下載鏈接】misedev tools, env vars, task runner項(xiàng)目地址: https://gitcode.com/GitHub_Trending/mi/mise創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考