| MISE(1) | General Commands Manual | MISE(1) |
نام (NAME)
mise - ابزارهای توسعه، متغیرهای محیطی و وظایف در یک رابط خط فرمان (CLI)
خلاصه دستور (SYNOPSIS)
mise [OPTIONS] [<TASK>] [<TASK_ARGS>] ... [<TASK_ARGS_LAST>] ... [COMMAND]
توضیحات (DESCRIPTION)
دستور mise محیط توسعهٔ شما را پیش از اجرای هر دستور آماده میکند. https://github.com/jdx/mise
گزینهها (OPTIONS)
- -c, --continue-on-error
- ادامه دادن به اجرای وظایف حتی در صورت شکست خوردن یکی از آنها
- -C, --cd <DIR>
- تغییر دایرکتوری پیش از اجرای دستور
- -E, --env <ENV>
- تنظیم محیط برای بارگذاری `mise.<ENV>.toml`
- -f, --force
- اجبار در انجام عملیات
- -j, --jobs <JOBS>
- تعداد کارهای همروند جهت اجرا؛ مقادیر کمتر از ۱ برابر ۱ در نظر گرفته میشوند [پیشفرض: 8]
- -n, --dry-run
- اجرای آزمایشی، در عمل هیچ کاری انجام نمیدهد
- -P, --profile <PROFILE>
- تنظیم نمایه (محیط)
- -q, --quiet
- پنهانسازی پیامهای غیرخطا
- -s, --shell <SHELL>
- -t, --tool <TOOL@VERSION>
- ابزار(ها) جهت اجرا علاوه بر موارد موجود در فایلهای mise.toml، مانند: node@20 python@3.10
- -v, --verbose
- نمایش خروجی بیشتر (برای جزئیات بیشتر از -vv استفاده کنید)
- -V, --version
- -y, --yes
- پاسخ مثبت (yes) به تمام اعلانهای تأیید
- --debug
- تنظیم سطح گزارشگیری روی debug
- --log-level <LEVEL>
- --no-config
- هیچ فایل
پیکربندیای
بارگذاری
نشود
همچنین میتوان از `MISE_NO_CONFIG=1` استفاده کرد
- --no-env
- متغیرهای
محیطی از
فایلهای
پیکربندی
بارگذاری
نشوند
همچنین میتوان از `MISE_NO_ENV=1` استفاده کرد
- --no-hooks
- قلابها (hooks)
از
فایلهای
پیکربندی
اجرا نشوند
همچنین میتوان از `MISE_NO_HOOKS=1` استفاده کرد
- --no-timings
- پنهانسازی
زمان
سپریشده
پس از اتمام
هر وظیفه
پیشفرضِ همیشه پنهان با `MISE_TASK_TIMINGS=0`
- --output <OUTPUT>
- --raw
- خواندن/نوشتن مستقیم روی stdin/stdout/stderr به جای خط به خط
- --locked
- الزام به
وجود
نشانیهای
وب (URLs) فایل
قفل هنگام
نصب
در صورتی که ابزارها آدرسهای از پیش تفکیکشده در فایل قفل برای پلتفرم فعلی نداشته باشند، با شکست مواجه میشود. این کار مانع از فراخوانی API به GitHub، رجیستری aqua و غیره میشود. همچنین میتواند از طریق MISE_LOCKED=1 یا settings.locked=true فعال شود
- --silent
- پنهانسازی تمام خروجیهای وظایف و پیامهای غیرخطای mise
- --timings
- نمایش زمان
سپریشده
پس از اتمام
هر وظیفه
پیشفرضِ همیشه نمایان با `MISE_TASK_TIMINGS=1`
- --trace
- تنظیم سطح گزارشگیری روی trace
- -h, --help
- چاپ راهنما.SH "آرگومانها (ARGUMENTS)"
- <TASK>
- تسک (وظیفه)
برای اجرا.
کوتاهنوشتی برای `mise tasks run <TASK>`.
- <TASK_ARGS>
- آرگومانهای تسک
دستورها (COMMANDS)
- activate
- مقداردهی اولیه mise در نشست فعلی شل
- tool-alias
- مدیریت نامهای مستعار (alias) نسخه ابزار.
- tool-alias get
- نمایش یک نام مستعار برای یک ابزار
- tool-alias ls
- فهرست کردن نامهای مستعار نسخههای ابزار
- tool-alias set
- افزودن یا بهروزرسانی یک نام مستعار برای یک ابزار/backend
- tool-alias unset
- پاک کردن یک نام مستعار برای یک ابزار/backend
- backends
- مدیریت backendها
- backends ls
- فهرست کردن backendهای توکار
- bin-paths
- فهرست کردن تمام مسیرهای اجرایی (bin) فعال محیط زمان اجرا
- bootstrap
- راهاندازی سیستم برای پیکربندی فعلی تنها با یک دستور
- bootstrap accounts
- مدیریت کاربران و گروههای لینوکس از `[bootstrap.users]` و `[bootstrap.groups]`
- bootstrap accounts apply
- اعمال کاربران و گروههای پیکربندیشده لینوکس
- bootstrap accounts status
- نمایش وضعیت کاربران و گروههای پیکربندیشده لینوکس
- bootstrap compose
- مدیریت پروژههای Docker Compose از `[bootstrap.compose]`
- bootstrap compose apply
- اعمال وضعیت پیکربندیشده پروژههای Docker Compose
- bootstrap compose status
- نمایش وضعیت پیکربندیشده پروژههای Docker Compose
- bootstrap dotfiles
- مدیریت داتفایلها (dotfiles) از `[dotfiles]`
- bootstrap dotfiles add
- افزودن یا بهروزرسانی داتفایلها در `[dotfiles]`
- bootstrap dotfiles apply
- اعمال داتفایلها از `[dotfiles]`
- bootstrap dotfiles diff
- نمایش تغییرات مورد نیاز برای اعمال داتفایلها از `[dotfiles]`
- bootstrap dotfiles edit
- ویرایش منبع داتفایل مدیریتشده
- bootstrap dotfiles status
- نمایش وضعیت داتفایلها از `[dotfiles]`
- bootstrap dotfiles unapply
- حذف داتفایلهای اعمالشده از `[dotfiles]`
- bootstrap files
- مدیریت فایلها و دایرکتوریهای دارای دسترسی ویژه از `[bootstrap.files]` و `[bootstrap.directories]`
- bootstrap files apply
- اعمال فایلها و دایرکتوریهای دارای دسترسی ویژه پیکربندیشده
- bootstrap files status
- نمایش وضعیت فایلها و دایرکتوریهای دارای دسترسی ویژه پیکربندیشده
- bootstrap firewall
- مدیریت فایروال میزبان لینوکس از `[bootstrap.linux.firewall]`
- bootstrap firewall apply
- اعمال فایروال پیکربندیشده میزبان لینوکس
- bootstrap firewall status
- نمایش وضعیت فایروال پیکربندیشده میزبان لینوکس
- bootstrap linux
- مدیریت پیکربندی راهاندازی لینوکس از `[bootstrap.linux]`
- bootstrap linux systemd-units
- مدیریت سرویسهای کاربری systemd از `[bootstrap.linux.systemd.units]`
- bootstrap linux systemd-units apply
- bootstrap linux systemd-units status
- bootstrap macos
- مدیریت پیکربندی راهاندازی macOS از `[bootstrap.macos]`
- bootstrap macos defaults
- مدیریت defaults در macOS از `[bootstrap.macos.defaults]`
- bootstrap macos defaults apply
- bootstrap macos defaults status
- bootstrap macos launchd-agents
- مدیریت LaunchAgents در macOS از `[bootstrap.macos.launchd.agents]`
- bootstrap macos launchd-agents apply
- bootstrap macos launchd-agents status
- bootstrap mise-shell-activate
- مدیریت فعالسازی شل mise از `[bootstrap.mise_shell_activate]`
- bootstrap mise-shell-activate apply
- bootstrap mise-shell-activate status
- bootstrap packages
- مدیریت بستههای سیستم راهاندازی از `[bootstrap.packages]`
- bootstrap packages apply
- اعمال بستههای سیستمی از `[bootstrap.packages]`
- bootstrap packages brew
- مدیریت مخازن tap در Homebrew استفادهشده توسط بستههای راهاندازی
- bootstrap packages brew tap
- افزودن نشانی اینترنتی Homebrew tap به [bootstrap.brew.taps]
- bootstrap packages brew untap
- حذف نشانیهای اینترنتی Homebrew tap از [bootstrap.brew.taps]
- bootstrap packages prune
- پاکسازی بستههای سیستمی نصبشده که دیگر در `[bootstrap.packages]` تعریف نشدهاند
- bootstrap packages status
- نمایش وضعیت بستههای سیستمی از `[bootstrap.packages]`
- bootstrap packages upgrade
- ارتقای بستههای bootstrap نصبشده از `[bootstrap.packages]`
- bootstrap packages use
- افزودن بستههای bootstrap به [bootstrap.packages] و نصب آنها
- bootstrap plan
- نمایش تغییراتی که منابع تعریفی bootstrap اعمال خواهند کرد
- bootstrap plugins
- مدیریت افزونههای مدیر بستهٔ تعریفشده در `[bootstrap.plugins]`
- bootstrap plugins apply
- bootstrap plugins status
- bootstrap remote
- راهاندازی اولیه (bootstrap) یک یا چند ماشین از طریق OpenSSH
- bootstrap repos
- مدیریت دریافت مخازن git از `[bootstrap.repos]`
- bootstrap repos apply
- bootstrap repos exec
- bootstrap repos status
- bootstrap repos update
- bootstrap secrets
- بررسی ورودیهای محرمانهٔ bootstrap بدون فاش کردن مقادیر آنها
- bootstrap secrets status
- نمایش در دسترس بودن ورودیهای محرمانهٔ تعریفشده برای bootstrap
- bootstrap services
- مدیریت سرویسهای سیستمی لینوکس از `[bootstrap.services]`
- bootstrap services apply
- اعمال وضعیت پیکربندیشدهٔ سرویسهای سیستمی لینوکس
- bootstrap services status
- نمایش وضعیت پیکربندیشدهٔ سرویسهای سیستمی لینوکس
- bootstrap status
- نمایش وضعیت تجمیعی bootstrap
- bootstrap user
- مدیریت تنظیمات bootstrap کاربر فعلی از `[bootstrap.user]`
- bootstrap user apply
- bootstrap user status
- cache
- مدیریت حافظهٔ پنهان mise
- cache clear
- حذف تمام فایلهای حافظهٔ پنهان در mise
- cache path
- نمایش مسیر دایرکتوری حافظهٔ پنهان
- cache prune
- حذف فایلهای کهنهٔ حافظهٔ پنهان mise
- cache task
- بررسی مدخلهای حافظهٔ پنهان خروجی برای یک تسک
- completion
- تولید تکمیل خودکار پوسته
- config
- مدیریت فایلهای پیکربندی
- config get
- نمایش مقدار یک تنظیم در فایل mise.toml
- config ls
- فهرست کردن فایلهای پیکربندی در حال استفاده
- config set
- تنظیم مقدار یک مشخصه در فایل mise.toml
- deactivate
- غیرفعالسازی mise برای نشست فعلی پوسته
- doctor
- بررسی نصب mise برای یافتن مشکلات احتمالی
- doctor path
- چاپ مدخلهای فعلی PATH که توسط mise ارائه شدهاند
- en
- راهاندازی یک پوسته جدید با محیط mise ایجادشده از روی پیکربندی فعلی
- env
- برونریزی متغیرهای محیطی برای یک بار فعالسازی mise
- exec
- اجرای یک دستور با ابزار(های) تعیینشده
- generate config
- تولید یک فایل mise.toml
- generate devcontainer
- تولید یک devcontainer برای اجرای mise
- generate git-pre-commit
- تولید یک قلاب (hook) برای git pre-commit
- generate github-action
- تولید یک فایل گردش کار (workflow) برای GitHub Action
- generate install-script
- تولید یک اسکریپت برای بارگیری و اجرای mise.TP generate task-docs تولید مستندات برای وظایف در یک پروژه
- generate task-stubs
- ایجاد shims برای اجرای وظایف mise
- generate tool-stub
- تولید یک tool stub برای ابزارهای مبتنی بر HTTP
- implode
- حذف CLI ابزار mise و تمامی دادههای مرتبط
- edit
- ویرایش تعاملی mise.toml
- install
- نصب نسخه یک ابزار
- install-into
- نصب نسخه یک ابزار در یک مسیر مشخص
- latest
- دریافت آخرین نسخه موجود برای یک افزونه
- link
- ایجاد پیوند نمادین (symlink) از نسخه یک ابزار در mise
- lock
- بهروزرسانی چکسامها و URLهای lockfile برای تمام پلتفرمهای مشخصشده
- ls
- فهرست کردن نسخههای نصبشده و فعال ابزارها
- ls-remote
- فهرست کردن نسخههای runtime موجود برای نصب.
- mcp
- اجرای سرور Model Context Protocol (MCP)
- oci
- [آزمایشی] ساخت ایمیجهای کانتینر OCI از یک mise.toml
- oci build
- [آزمایشی] ساخت یک ایمیج OCI از mise.toml فعلی
- oci push
- [آزمایشی] ساخت یک ایمیج OCI و ارسال (push) آن به یک رجیستری
- oci run
- [آزمایشی] ساخت یک ایمیج OCI از mise.toml فعلی و اجرای یک دستور در آن
- outdated
- نمایش نسخههای قدیمی ابزارها
- patrons
- نمایش افرادی که به عنوان حامیان سطح Patron از mise پشتیبانی میکنند
- plugins
- مدیریت افزونهها
- plugins install
- نصب یک افزونه
- plugins link
- ایجاد پیوند نمادین (symlink) از یک افزونه در mise
- plugins ls
- فهرست کردن افزونههای نصبشده
- plugins uninstall
- حذف یک افزونه
- plugins update
- بهروزرسانی یک افزونه به آخرین نسخه
- deps
- [آزمایشی] مدیریت وابستگیهای پروژه
- deps add
- افزودن یک وابستگی
- deps install
- نصب تمامی وابستگیهای پروژه
- deps remove
- حذف یک وابستگی
- prune
- حذف نسخههای استفادهنشده ابزارها
- registry
- فهرست کردن ابزارهای در دسترس برای نصب
- reshim
- ایجاد shims جدید بر اساس مسیرهای bin از ابزارهای نصبشده فعلی.
- run
- اجرای وظیفه(ها)
- search
- جستجو برای ابزارها در رجیستری
- self-update
- بهروزرسانی خود mise.
- set
- تنظیم متغیرهای محیطی در mise.toml
- settings
- مدیریت تنظیمات
- settings add
- افزودن یک تنظیم به فایل پیکربندی
- settings get
- نمایش یک تنظیم فعلی
- settings ls
- نمایش تنظیمات فعلی
- settings set
- افزودن/بهروزرسانی یک تنظیم
- settings unset
- پاک کردن یک تنظیم
- shell-alias
- مدیریت نامهای مستعار پوسته.
- shell-alias get
- نمایش دستور مربوط به یک نام مستعار پوسته
- shell-alias ls
- فهرست کردن نامهای مستعار پوسته
- shell-alias set
- افزودن یا بهروزرسانی یک نام مستعار پوسته
- shell-alias unset
- حذف یک نام مستعار پوسته
- sponsors
- نمایش شرکتهای حامی مالی mise و ابزارهای متنباز jdx.dev
- sync
- همگامسازی ابزارها از سایر مدیرهای نسخه با mise
- sync node
- ایجاد پیوند نمادین از تمام نسخههای ابزار بیرونی به mise
- sync python
- ایجاد پیوند نمادین از تمام نسخههای ابزار بیرونی به mise
- sync ruby
- ایجاد پیوند نمادین از تمام نسخههای ابزار ruby بیرونی به mise
- tasks
- مدیریت وظایف
- tasks add
- ایجاد یک وظیفه جدید
- tasks deps
- نمایش ساختار درختی گراف وابستگیها
- tasks edit
- ویرایش یک وظیفه با $EDITOR
- tasks graph
- [آزمایشی] بررسی گراف پروژه فضای کاری
- tasks info
- دریافت اطلاعات درباره یک وظیفه
- tasks ls
- فهرست کردن وظایف موجود برای اجرا
- tasks run
- اجرای وظیفه(ها)
- tasks validate
- اعتبارسنجی وظایف برای بررسی خطاها و مشکلات رایج
- test-tool
- آزمایش نصب و اجرای یک ابزار
- token
- نمایش توکنهای ارائهدهنده گیت که mise استفاده خواهد کرد
- token forgejo
- نمایش توکن Forgejo که mise برای میزبان مشخصشده استفاده خواهد کرد
- token github
- نمایش توکن GitHub که mise برای میزبان مشخصشده استفاده خواهد کرد
- token gitlab
- نمایش توکن GitLab که mise برای میزبان مشخصشده استفاده خواهد کرد
- tool
- دریافت اطلاعات درباره یک ابزار
- tool-stub
- اجرای یک جانشین موقت (stub) ابزار
- trust
- علامتگذاری یک فایل پیکربندی بهعنوان قابلاعتماد
- uninstall
- حذف نسخههای نصبشده ابزار
- unset
- حذف متغیر(های) محیطی از فایل پیکربندی.
- untrust
- حذف اعتماد صریح به یک پیکربندی
- unuse
- حذف نسخههای نصبشده ابزار از mise.toml
- upgrade
- ارتقای ابزارهای قدیمی
- use
- نصب یک ابزار و افزودن نسخه آن به mise.toml.
- version
- نمایش نسخه mise
- watch
- اجرای وظیفه(ها) و نظارت بر تغییرات جهت اجرای مجدد آن
- where
- نمایش مسیر نصب یک ابزار
- which
- نمایش
مسیری که
فایل
اجرایی (bin) یک
ابزار به آن
اشاره
دارد..SH "MISE ACTIVATE"
مقداردهی
اولیه mise در
نشست جاری
پوسته
این دستور باید در فایل rc یا پوستهٔ ورود (login shell) شما قرار گیرد. در غیر این صورت، تنها در نشست جاری اعمال خواهد شد. (برای مثال: ~/.zshrc، ~/.zprofile، ~/.zshenv، ~/.bashrc، ~/.bash_profile، ~/.profile، ~/.config/fish/config.fish یا $PROFILE برای powershell)
بهطور معمول، این مورد را میتوان با دستوری شبیه به زیر افزود:
echo 'eval "$(mise activate zsh)"' >> ~/.zshrcبا این حال، این کار نیازمند آن است که "mise" در PATH شما قرار داشته باشد. اگر چنین نیست، باید مسیر کامل را بهاین صورت مشخص کنید:
echo 'eval "$(/path/to/mise activate zsh)"' >> ~/.zshrcسفارشیسازی خروجی وضعیت با تنظیمات `status` امکانپذیر است.
نحوه استفاده: mise activate [OPTIONS] [<SHELL_TYPE>]
گزینهها:
- -q, --quiet
- عدم نمایش پیامهای غیرخطا
- -s, --shell <SHELL>
- نوع پوسته برای تولید اسکریپت
- --no-hook-env
- عدم
فراخوانی
خودکار hook-env
این گزینه میتواند برای اشکالزدایی mise مفید باشد. اگر دستور `eval "$(mise activate --no-hook-env)"` را اجرا کنید، میتوانید `mise hook-env` را بهصورت دستی فراخوانی کنید که متغیرهای محیطی را بدون تغییر واقعی در محیط، در stdout چاپ میکند. بهاین ترتیب میتوانید کارهایی مانند `mise hook-env --trace` را برای دریافت اطلاعات بیشتر انجام دهید یا صرفاً مقادیری را که hook-env در خروجی تولید میکند ببینید.
- --shims
- استفاده از
shimها بهجای
تغییر PATH در
عمل معادل
است با:
PATH="$HOME/.local/share/mise/shims:$PATH"دستور `mise activate --shims` از تمام ویژگیهای `mise activate` پشتیبانی نمیکند. برای اطلاعات بیشتر به https://mise.jdx.dev/dev-tools/shims.html#shims-vs-path مراجعه کنید
- --status
- نمایش پیام "mise: <TOOL>@<VERSION>" هنگام تغییر دایرکتوریها
- -h, --help
- نمایش راهنما آرگومانها:
- <SHELL_TYPE>
- نوع پوسته برای تولید اسکریپت
MISE TOOL-ALIAS
مدیریت نامهای مستعار نگارشهای ابزار.
نحوه استفاده: mise tool-alias [OPTIONS] [COMMAND]
گزینهها:
- -p, --tool <TOOL>
- فیلتر کردن نامهای مستعار بر اساس ابزار
- --no-header
- عدم نمایش سربرگ جدول
- -h, --help
- نمایش راهنما
MISE TOOL-ALIAS GET
نمایش یک نام مستعار برای یک ابزار
این دستور محتوای یک مدخل tool_alias.<TOOL> در ~/.config/mise/config.toml است
نحوه استفاده: mise tool-alias get [OPTIONS] <TOOL> <ALIAS>
گزینهها:
- -h, --help
- نمایش راهنما آرگومانها:
- <TOOL>
- ابزاری که نام مستعار آن نمایش داده میشود
- <ALIAS>
- نام
مستعاری که
باید نمایش
داده شود.SH "MISE
TOOL-ALIAS LS" فهرست
کردن
نامهای
مستعار
نسخههای
ابزار
نامهای
مستعاری که
میتوان
تعیین کرد
را نشان
میدهد. این
موارد
میتوانند
از
پیکربندی
کاربر یا از
افزونهها
در `bin/list-aliases`
بیایند.
برای پیکربندی کاربر، نامهای مستعار مانند زیر در `~/.config/mise/config.toml` تعریف میشوند:
[tool_alias.node.versions]
lts = "22.0.0"
نحوه استفاده: mise tool-alias ls [OPTIONS] [<TOOL>]
گزینهها:
- --no-header
- عدم نمایش سربرگ جدول
- -h, --help
- نمایش راهنما آرگومانها:
- <TOOL>
- نمایش نامهای مستعار برای <TOOL>
MISE TOOL-ALIAS SET
افزودن یا بهروزرسانی یک نام مستعار برای یک ابزار/backend
این دستور محتوای ~/.config/mise/config.toml را تغییر میدهد
نحوه استفاده: mise tool-alias set [OPTIONS] <TOOL> <ALIAS> [<VALUE>]
گزینهها:
- -h, --help
- نمایش راهنما آرگومانها:
- <TOOL>
- ابزار/backend مورد نظر برای تنظیم نام مستعار
- <ALIAS>
- نام مستعار جهت تنظیم
- <VALUE>
- مقداری که باید برای نام مستعار تنظیم شود
MISE TOOL-ALIAS UNSET
پاک کردن یک نام مستعار برای یک ابزار/backend
این دستور محتوای ~/.config/mise/config.toml را تغییر میدهد
نحوه استفاده: mise tool-alias unset [OPTIONS] <TOOL> [<ALIAS>]
گزینهها:
- -h, --help
- نمایش راهنما آرگومانها:
- <TOOL>
- ابزار/backend مورد نظر برای حذف نام مستعار
- <ALIAS>
- نام مستعار جهت حذف
MISE BACKENDS
مدیریت backendها
نحوه استفاده: mise backends [OPTIONS] [COMMAND]
گزینهها:
- -h, --help
- نمایش راهنما
MISE BACKENDS LS
فهرست کردن backendهای توکار (built-in)
نحوه استفاده: mise backends ls [OPTIONS]
گزینهها:
- -h, --help
- نمایش راهنما.SH "MISE BIN-PATHS" فهرست کردن تمام مسیرهای bin فعال زمان اجرا
کاربرد: mise bin-paths [OPTIONS] [<TOOL@VERSION>] ...
گزینهها:
- --bin-names
- نمایش نامهای فایلهای اجرایی به جای دایرکتوریهای bin
- -J, --json
- نمایش ورودیهای اجرایی در قالب JSON (شامل --bin-names نیز میشود)
- -h, --help
- نمایش راهنما آرگومانها:
- <TOOL@VERSION>
- ابزار(ها) جهت جستجو برای نمونه: ruby@3
MISE BOOTSTRAP
راهاندازی و آمادهسازی سیستم بر اساس پیکربندی فعلی با یک دستور
مراحل راهاندازی (bootstrap) را به ترتیب برای پیکربندی فعلی اجرا میکند:
0. `mise bootstrap accounts apply` —
همگامسازی
`[bootstrap.users]` و
`[bootstrap.groups]` (لینوکس) 1.
`mise bootstrap plugins apply` — نصب
`[bootstrap.plugins]`
1.7. `[bootstrap.hooks.pre-packages]` —
قلاب
راهاندازی
اختیاری 2.
نصب
ورودیهای
built-in-manager از `[bootstrap.packages]` 3. `mise bootstrap
files apply` —
همگامسازی
`[bootstrap.files]` و
`[bootstrap.directories]` 4. `mise bootstrap services apply` —
همگامسازی
سرویسهای
سیستمی systemd در
`[bootstrap.services]` (لینوکس) 5.
`mise bootstrap firewall apply` —
همگامسازی
سیاستها و
قوانین
فایروال
میزبان در
`[bootstrap.linux.firewall]`
(لینوکس) 6. `mise bootstrap
compose apply` —
همگامسازی
پروژههای
Docker Compose در
`[bootstrap.compose]` 7. `mise bootstrap repos apply` —
کلون/همگامسازی
`[bootstrap.repos]`
محصور شده
با
قلابهای
`pre-repos`/`post-repos` 8. `mise bootstrap dotfiles apply` —
اعمال dotfiles از
`[dotfiles]`
محصور شده
با
قلابهای
`pre-dotfiles`/`post-dotfiles` 9. `mise bootstrap mise-shell-activate apply`
— پیکربندی
فعالسازی
پوسته
از `[bootstrap.mise_shell_activate]` 10. `mise bootstrap macos
defaults apply` — نوشتن
ورودیهای
`[bootstrap.macos.defaults]`
(سیستمعامل
macOS)
محصور شده
با
قلابهای
`pre-defaults`/`post-defaults` 11. `mise bootstrap macos launchd-agents
apply` —
نصب/بارگذاری
`[bootstrap.macos.launchd.agents]` 12. `mise bootstrap linux systemd-units
apply` —
نصب/راهاندازی
`[bootstrap.linux.systemd.units]` 13. `mise bootstrap user apply` —
تنظیم `[bootstrap.user].login_shell`
(یونیکس)
محصور شده
با
قلابهای
`pre-user`/`post-user` 14. `mise install` — نصب
ابزارهای
ناموجود از
`[tools]`
محصور شده
با
قلابهای
`pre-tools`/`post-tools`؛
ورودیهای
package-plugin
از `[bootstrap.packages]` پس از
آن نصب
میشوند، و
به دنبال آن
`[bootstrap.hooks.post-packages]` اجرا
میگردد 15. `mise run
bootstrap` — در صورت
تعریف بودن
وظیفهای
با نام `bootstrap` 16.
`[bootstrap.hooks.final]` — قلاب
نهایی
اختیاری
مراحل توصیفی (declarative) همگامسازی میشوند — هر موردی که از قبل در وضعیت مطلوب خود باشد نادیده گرفته میشود، بنابراین اجرای مجدد آن امن است. وظیفهٔ `bootstrap` با هر بار فراخوانی اجرا میشود؛ آن را خودتوان (idempotent) نگه دارید. از آن برای هرگونه راهاندازی مختص پروژه که در بخشهای توصیفی نمیگنجد (مقداردهی اولیه پایگاهداده، جریانهای احراز هویت و غیره) استفاده کنید — این دستور همراه با ابزارهای نصبشده روی PATH اجرا میشود.
برای نادیده گرفتن بخشهای مشخصشده از `--skip <part>` یا برای اجرای صرفاً همان بخشها از `--only <part>` استفاده کنید. هر دو پرچم میتوانند تکرار شوند یا با کاما از هم جدا گردند، اما نمیتوان آنها را همزمان با یکدیگر به کار برد.
کاربرد: mise bootstrap [OPTIONS] [COMMAND]
گزینهها:
- --from <GIT_URL>
- کلون کردن یک مخزن git و راهاندازی (bootstrap) بر اساس پیکربندی آن
- --from-dir <DIR>
- دایرکتوری مورد استفاده برای مخزن کلونشده با --from
- -n, --dry-run
- نمایش رویدادها بدون نصب هیچ موردی
- -y, --yes
- نادیده گرفتن پیامهای تایید
- --skip-dirty
- نادیده گرفتن مخازن پیکربندیشده دارای تغییرات محلی به جای ناموفق شدن عملیات
- --force-dotfiles
- بازنویسی روی فایلهای موجود که با ورودیهای تمامفایلیِ dotfile تداخل دارند
- --only <ONLY>
- اجرای تنها
یک یا چند
بخش
راهاندازی
(bootstrap)
میتواند چندین بار ارسال شده یا به عنوان فهرستی جداشده با کاما باشد. نمیتوان آن را همراه با `--skip` به کار برد.
- --prompt-secrets
- درخواست امن ورودیهای محرمانهٔ ناموجود برای راهاندازی
- --skip <SKIP>
- نادیده
گرفتن یک یا
چند بخش
راهاندازی
(bootstrap)
میتواند چندین بار ارسال شده یا به عنوان فهرستی جداشده با کاما باشد.
- --update
- تازهسازی فرادادههای مدیر بسته و بهروزرسانی مخازن پیکربندیشده
- -h, --help
- نمایش راهنما.SH "MISE BOOTSTRAP ACCOUNTS" مدیریت کاربران و گروههای لینوکس از `[bootstrap.users]` و `[bootstrap.groups]`
نحوه استفاده: mise bootstrap accounts [OPTIONS] <COMMAND>
گزینهها:
- -h, --help
- نمایش راهنما
MISE BOOTSTRAP ACCOUNTS APPLY
اعمال کاربران و گروههای پیکربندیشده لینوکس
نحوه استفاده: mise bootstrap accounts apply [OPTIONS]
گزینهها:
- -n, --dry-run
- نمایش تغییرات بدون اعمال هیچ تغییری
- -y, --yes
- رد کردن پیام درخواست تأیید
- -h, --help
- نمایش راهنما
MISE BOOTSTRAP ACCOUNTS STATUS
نمایش وضعیت کاربران و گروههای پیکربندیشده لینوکس
نحوه استفاده: mise bootstrap accounts status [OPTIONS]
گزینهها:
- -J, --json
- خروجی در قالب JSON
- --missing
- خروج با کد ۱ در صورت عدم همگرایی هر یک از حسابها
- -h, --help
- نمایش راهنما
MISE BOOTSTRAP COMPOSE
مدیریت پروژههای Docker Compose از `[bootstrap.compose]`
نحوه استفاده: mise bootstrap compose [OPTIONS] <COMMAND>
گزینهها:
- -h, --help
- نمایش راهنما
MISE BOOTSTRAP COMPOSE APPLY
اعمال وضعیت پیکربندیشده پروژههای Docker Compose
نحوه استفاده: mise bootstrap compose apply [OPTIONS]
گزینهها:
- -n, --dry-run
- نمایش تغییرات بدون اعمال هیچ تغییری
- -y, --yes
- رد کردن پیام درخواست تأیید
- -h, --help
- نمایش راهنما
MISE BOOTSTRAP COMPOSE STATUS
نمایش وضعیت پیکربندیشده پروژههای Docker Compose
نحوه استفاده: mise bootstrap compose status [OPTIONS]
گزینهها:
- -J, --json
- خروجی در قالب JSON
- --missing
- خروج با کد ۱ در صورت عدم همگرایی هر یک از پروژههای Compose
- -h, --help
- نمایش راهنما.SH "MISE BOOTSTRAP DOTFILES" مدیریت dotfileها از `[dotfiles]`
نحوه استفاده: mise bootstrap dotfiles [OPTIONS] <COMMAND>
گزینهها:
- -h, --help
- نمایش راهنما
MISE BOOTSTRAP DOTFILES ADD
افزودن یا بهروزرسانی dotfileها در `[dotfiles]`
اگر هدف از قبل مدیریت شده باشد، این دستور منبع آن را از هدف زنده بهروزرسانی میکند. در غیر این صورت، یک مدخل `[dotfiles]` ایجاد کرده و منبع را در `dotfiles.root` قرار میدهد، مگر اینکه `--source` مشخص شده باشد.
نحوه استفاده: mise bootstrap dotfiles add [OPTIONS] [<TARGET>] ...
گزینهها:
- --changed
- بهروزرسانی منابع تمام فایلهای تغییریافته که در حالت copy مدیریت میشوند
- -f, --force
- بازنویسی منابع موجود بدون درخواست تأیید
- -g, --global
- نوشتن در پیکربندی سراسری (global)
- -l, --local
- نوشتن در پیکربندی محلی (local) به جای پیکربندی سراسری
- -m, --mode <MODE>
- حالت dotfile برای نوشتن
- -n, --dry-run
- چاپ بهروزرسانیهای پیکربندی/منبع بدون نوشتن هیچ تغییری
- --no-apply
- افزودن مدخل بدون اعمال آن
- -p, --path <PATH>
- نوشتن در این فایل پیکربندی یا دایرکتوری
- -s, --source <PATH>
- مسیر منبع برای استفاده جهت یک هدف تکی
- -y, --yes
- صرفنظر از اعلان تأیید
- -h, --help
- نمایش راهنما آرگومانها:
- <TARGET>
- هدفها برای افزودن یا بهروزرسانی
MISE BOOTSTRAP DOTFILES APPLY
اعمال dotfileها از `[dotfiles]`
مدخلهای پیکربندیشده بهصورت کل فایل (whole-file) و ویرایشهایی را که در وضعیت مطلوب خود نیستند، اعمال میکند. مدخلهای کل فایل ممکن است پیوند نمادین (symlink)، کپی، یا قالبها را رندر (render) کنند. مدخلهای ویرایش، یک بلوک محدودشده با نشانگر یا یک خط منفرد را در فایلی مدیریت میکنند که mise در حالت عادی مالکیتی بر آن ندارد.
نحوه استفاده: mise bootstrap dotfiles apply [OPTIONS] [<TARGET>] ...
گزینهها:
- -f, --force
- بازنویسی فایلهای موجود که با مدخلهای dotfile از نوع کل فایل تداخل دارند
- -n, --dry-run
- چاپ اقداماتی که اجرا خواهند شد بدون نوشتن هیچ تغییری
- -y, --yes
- صرفنظر از اعلان تأیید
- -h, --help
- نمایش راهنما آرگومانها:
- <TARGET>
- تنها اعمال این هدفها.SH "MISE BOOTSTRAP DOTFILES DIFF" نمایش تغییرات لازم جهت اعمال داتفایلها از `[dotfiles]`
کاربرد: mise bootstrap dotfiles diff [OPTIONS] [<TARGET>] ...
گزینهها:
- -h, --help
- نمایش راهنما آرگومانها:
- <TARGET>
- تنها نمایش این هدفها
MISE BOOTSTRAP DOTFILES EDIT
ویرایش منبع یک داتفایل مدیریتشده
کاربرد: mise bootstrap dotfiles edit [OPTIONS] <TARGET>
گزینهها:
- --apply
- اعمال این هدف پس از خروج از ویرایشگر
- -m, --mode <MODE>
- حالت داتفایل مورد استفاده در صورتی که هدف هنوز مدیریت نشده باشد
- -s, --source <PATH>
- مسیر منبع مورد استفاده در صورتی که هدف هنوز مدیریت نشده باشد
- -y, --yes
- صرفنظر کردن از اعلان تأیید هنگام افزودن یک هدف مدیریتنشده
- -h, --help
- نمایش راهنما آرگومانها:
- <TARGET>
- هدف جهت ویرایش
MISE BOOTSTRAP DOTFILES STATUS
نمایش وضعیت داتفایلها از `[dotfiles]`
کاربرد: mise bootstrap dotfiles status [OPTIONS] [<TARGET>] ...
گزینهها:
- -J, --json
- خروجی در قالب JSON
- --missing
- خروج با کد ۱ در صورتی که هر یک از داتفایلهای پیکربندیشده در وضعیت مطلوب خود نباشند (ناموجود، منبع ناموجود، دارای تفاوت)
- -h, --help
- نمایش راهنما آرگومانها:
- <TARGET>
- تنها نمایش این هدفها
MISE BOOTSTRAP DOTFILES UNAPPLY
حذف داتفایلهای اعمالشده از `[dotfiles]`
مدخلهای فایل کامل و ویرایشهای پیکربندیشده را حذف میکند، در حالی که فایلهایی را که mise نمیتواند بهعنوان مدیریتشده شناسایی کند حفظ مینماید. رونوشتهای تغییریافته، قالبها و ویرایشهای خطوط ساده نیازمند `--force` هستند.
کاربرد: mise bootstrap dotfiles unapply [OPTIONS] [<TARGET>] ...
گزینهها:
- -f, --force
- حذف فایلها و خطوط مدیریتشدهٔ تغییریافته یا بهنوعی مبهم
- -n, --dry-run
- چاپ اقداماتی که بدون نوشتن هیچ دادهای اجرا خواهند شد
- -y, --yes
- صرفنظر کردن از اعلان تأیید
- -h, --help
- نمایش راهنما آرگومانها:
- <TARGET>
- تنها لغو اعمال این هدفها.SH "MISE BOOTSTRAP FILES" مدیریت فایلها و دایرکتوریهای دارای دسترسی ویژه از `[bootstrap.files]` و `[bootstrap.directories]`
کاربرد: mise bootstrap files [OPTIONS] <COMMAND>
گزینهها:
- -h, --help
- نمایش راهنما
MISE BOOTSTRAP FILES APPLY
اعمال فایلها و دایرکتوریهای دارای دسترسی ویژهٔ پیکربندیشده
کاربرد: mise bootstrap files apply [OPTIONS]
گزینهها:
- -n, --dry-run
- نمایش تغییرات احتمالی بدون اعمال هیچ تغییری
- -y, --yes
- صرفنظر کردن از اعلان تأیید
- --prompt-secrets
- درخواست امن برای ورودیهای محرمانهٔ (secret) ناموجود bootstrap
- -h, --help
- نمایش راهنما
MISE BOOTSTRAP FILES STATUS
نمایش وضعیت فایلها و دایرکتوریهای دارای دسترسی ویژهٔ پیکربندیشده
کاربرد: mise bootstrap files status [OPTIONS]
گزینهها:
- -J, --json
- خروجی در قالب JSON
- --missing
- خروج با کد 1 هنگامی که هر یک از منابع همگرا نشده باشند
- --prompt-secrets
- درخواست امن برای ورودیهای محرمانهٔ (secret) ناموجود bootstrap
- -h, --help
- نمایش راهنما
MISE BOOTSTRAP FIREWALL
مدیریت فایروال میزبان لینوکس از `[bootstrap.linux.firewall]`
کاربرد: mise bootstrap firewall [OPTIONS] <COMMAND>
گزینهها:
- -h, --help
- نمایش راهنما
MISE BOOTSTRAP FIREWALL APPLY
اعمال فایروال پیکربندیشدهٔ میزبان لینوکس
کاربرد: mise bootstrap firewall apply [OPTIONS]
گزینهها:
- -n, --dry-run
- نمایش تغییرات احتمالی بدون اعمال هیچ تغییری
- -y, --yes
- صرفنظر کردن از اعلان تأیید
- -h, --help
- نمایش راهنما
MISE BOOTSTRAP FIREWALL STATUS
نمایش وضعیت فایروال پیکربندیشدهٔ میزبان لینوکس
کاربرد: mise bootstrap firewall status [OPTIONS]
گزینهها:
- -J, --json
- خروجی در قالب JSON
- --missing
- خروج با کد 1 هنگامی که فایروال همگرا نشده باشد
- -h, --help
- نمایش راهنما.SH "MISE BOOTSTRAP LINUX" مدیریت پیکربندی راهاندازی لینوکس از `[bootstrap.linux]`
کاربرد: mise bootstrap linux [OPTIONS] <COMMAND>
گزینهها:
- -h, --help
- نمایش راهنما
MISE BOOTSTRAP LINUX SYSTEMD-UNITS
مدیریت سرویسهای کاربری systemd از `[bootstrap.linux.systemd.units]`
کاربرد: mise bootstrap linux systemd-units [OPTIONS] <COMMAND>
گزینهها:
- -h, --help
- نمایش راهنما
MISE BOOTSTRAP LINUX SYSTEMD-UNITS APPLY
کاربرد: mise bootstrap linux systemd-units apply [OPTIONS]
گزینهها:
- -n, --dry-run
- نمایش دستوراتی که اجرا خواهند شد، بدون اجرای واقعی آنها
- -y, --yes
- رد کردن اعلان تأیید
- -h, --help
- نمایش راهنما
MISE BOOTSTRAP LINUX SYSTEMD-UNITS STATUS
کاربرد: mise bootstrap linux systemd-units status [OPTIONS]
گزینهها:
- -J, --json
- خروجی در قالب JSON
- --missing
- خروج با کد وضعیت ۱ در صورتی که هر یک از سرویسهای کاربری پیکربندیشدهٔ systemd در وضعیت مطلوب خود نباشد
- -h, --help
- نمایش راهنما
MISE BOOTSTRAP MACOS
مدیریت پیکربندی راهاندازی macOS از `[bootstrap.macos]`
کاربرد: mise bootstrap macos [OPTIONS] <COMMAND>
گزینهها:
- -h, --help
- نمایش راهنما
MISE BOOTSTRAP MACOS DEFAULTS
مدیریت پیشفرضهای macOS از `[bootstrap.macos.defaults]`
کاربرد: mise bootstrap macos defaults [OPTIONS] <COMMAND>
گزینهها:
- -h, --help
- نمایش راهنما
MISE BOOTSTRAP MACOS DEFAULTS APPLY
کاربرد: mise bootstrap macos defaults apply [OPTIONS]
گزینهها:
- -n, --dry-run
- نمایش دستوراتی که اجرا خواهند شد، بدون اجرای واقعی آنها
- -y, --yes
- رد کردن اعلان تأیید
- -h, --help
- نمایش راهنما.SH "MISE BOOTSTRAP MACOS DEFAULTS STATUS" کاربرد: mise bootstrap macos defaults status [OPTIONS]
گزینهها:
- -J, --json
- خروجی در قالب JSON
- --missing
- خروج با کد ۱ در صورتی که هر یک از تنظیمات پیشفرض (defaults) پیکربندیشده در وضعیت مطلوب خود نباشند
- -h, --help
- نمایش راهنما
MISE BOOTSTRAP MACOS LAUNCHD-AGENTS
مدیریت LaunchAgentهای macOS از طریق `[bootstrap.macos.launchd.agents]`
کاربرد: mise bootstrap macos launchd-agents [OPTIONS] <COMMAND>
گزینهها:
- -h, --help
- نمایش راهنما
MISE BOOTSTRAP MACOS LAUNCHD-AGENTS APPLY
کاربرد: mise bootstrap macos launchd-agents apply [OPTIONS]
گزینهها:
- -n, --dry-run
- نمایش دستوراتی که بدون اجرای واقعی، اجرا خواهند شد
- -y, --yes
- صرفنظر کردن از اعلان تأیید
- -h, --help
- نمایش راهنما
MISE BOOTSTRAP MACOS LAUNCHD-AGENTS STATUS
کاربرد: mise bootstrap macos launchd-agents status [OPTIONS]
گزینهها:
- -J, --json
- خروجی در قالب JSON
- --missing
- خروج با کد ۱ در صورتی که هر یک از LaunchAgentهای پیکربندیشده در وضعیت مطلوب خود نباشند
- -h, --help
- نمایش راهنما
MISE BOOTSTRAP MISE-SHELL-ACTIVATE
مدیریت فعالسازی پوسته mise از طریق `[bootstrap.mise_shell_activate]`
کاربرد: mise bootstrap mise-shell-activate [OPTIONS] <COMMAND>
گزینهها:
- -h, --help
- نمایش راهنما
MISE BOOTSTRAP MISE-SHELL-ACTIVATE APPLY
کاربرد: mise bootstrap mise-shell-activate apply [OPTIONS]
گزینهها:
- -n, --dry-run
- نمایش اقداماتی که بدون اعمال و نوشتن هیچ تغییری انجام خواهند شد
- -y, --yes
- صرفنظر کردن از اعلان تأیید
- -h, --help
- نمایش راهنما
MISE BOOTSTRAP MISE-SHELL-ACTIVATE STATUS
کاربرد: mise bootstrap mise-shell-activate status [OPTIONS]
گزینهها:
- -J, --json
- خروجی در قالب JSON
- --missing
- خروج با کد ۱ در صورتی که هر یک از فعالسازیهای پیکربندیشده پوسته در وضعیت مطلوب خود نباشند
- -h, --help
- نمایش راهنما.SH "MISE BOOTSTRAP PACKAGES" مدیریت بستههای سیستمی راهاندازی (bootstrap) از `[bootstrap.packages]`
طرز استفاده: mise bootstrap packages [OPTIONS] <COMMAND>
گزینهها:
- -h, --help
- نمایش راهنما
MISE BOOTSTRAP PACKAGES APPLY
اعمال بستههای سیستمی از `[bootstrap.packages]`
بررسی میکند که کدام بستههای پیکربندیشده موجود نیستند و آنها را با مدیر بستهی سیستم نصب میکند. مدیرهای بسته سیستمی توکار ممکن است در صورت اجرا نشدن توسط کاربر ریشه (root)، دسترسی را با sudo ارتقا دهند (به `system_packages.sudo` مراجعه کنید)؛ پلاگینهای بسته هرگز این کار را انجام نمیدهند.
بستهها همچنین میتوانند صراحتاً در قالب `manager:package` مشخص شوند (مانند `apk:zlib-dev`، `apt:curl`، `brew:jq`)؛ این بستهها صرفنظر از اینکه در پیکربندی باشند یا خیر، نصب میشوند. بستههای صریح و `--manager` دامنهی اجرا را تنها به همان بستهها محدود میکنند. دستور `install` به عنوان یک نام مستعار برای این دستور پذیرفته میشود.
طرز استفاده: mise bootstrap packages apply [OPTIONS] [<PACKAGE>] ...
گزینهها:
- -m, --manager <MANAGER>
- فقط بستهها برای این مدیر بسته توکار یا پلاگین نصب شوند
- -n, --dry-run
- چاپ دستوراتی که اجرا خواهند شد بدون اجرای واقعی آنها
- -y, --yes
- رد کردن پیام تأیید
- --update
- تازهسازی فرادادههای مدیر بسته پیش از شروع (در apk: `--update-cache`، در apt: `apt-get update`)
- -h, --help
- نمایش راهنما آرگومانها:
- <PACKAGE>
- بستهها در قالب `manager:package`؛ مقدار پیشفرض تمام موارد پیکربندیشده در [bootstrap.packages] است
MISE BOOTSTRAP PACKAGES BREW
مدیریت مخازن (taps) ابزار Homebrew مورد استفاده بستههای راهاندازی
این دستورها `[bootstrap.brew.taps]` را ویرایش میکنند تا فرمولها و caskهای tapشده بتوانند مستقیماً توسط mise بدون نیاز به نصب بودن Homebrew دریافت شوند.
طرز استفاده: mise bootstrap packages brew [OPTIONS] <COMMAND>
گزینهها:
- -h, --help
- نمایش راهنما
MISE BOOTSTRAP PACKAGES BREW TAP
افزودن نشانی اینترنتی (URL) یک مخزن Homebrew به [bootstrap.brew.taps]
طرز استفاده: mise bootstrap packages brew tap [OPTIONS] <TAP> [<URL>]
گزینهها:
- -l, --local
- نوشتن در پیکربندی محلی بهجای پیکربندی سراسری
- -n, --dry-run
- چاپ تغییرات پیکربندی بدون ذخیره کردن آنها
- -p, --path, --file <PATH>
- نوشتن در این فایل یا دایرکتوری پیکربندی
- -h, --help
- نمایش راهنما آرگومانها:
- <TAP>
- نام tap، مانند `owner/repo`
- <URL>
- نشانی اینترنتی گیتهاب برای tap. مقدار پیشفرض: https://github.com/<owner>/homebrew-<repo>.git.SH "MISE BOOTSTRAP PACKAGES BREW UNTAP" حذف آدرسهای tap مربوط به Homebrew از [bootstrap.brew.taps]
نحوه استفاده: mise bootstrap packages brew untap [OPTIONS] <TAPS> ...
گزینهها:
- -l, --local
- نوشتن در پیکربندی محلی به جای پیکربندی سراسری
- -n, --dry-run
- چاپ تغییرات پیکربندی بدون نوشتن آن
- -p, --path, --file <PATH>
- نوشتن در این فایل یا دایرکتوری پیکربندی
- -h, --help
- نمایش راهنما آرگومانها:
- <TAPS>
- نام tap(ها)، مانند `owner/repo`
MISE BOOTSTRAP PACKAGES IMPORT
وارد کردن بستههای نصبشده سیستمی به `[bootstrap.packages]`
در حال حاضر تنها از فرمولهای (formulae) Homebrew پشتیبانی میکند. بهطور پیشفرض، فرمولهای پیوندخوردهای که رسید فعال keg آنها نشان میدهد بنا به درخواست کاربر نصب شدهاند، وارد میشوند. برای وارد کردن تمامی فرمولهای پیوندخورده از جمله وابستگیها، `--all` را ارسال کنید.
نحوه استفاده: mise bootstrap packages import [OPTIONS]
گزینهها:
- -e, --env <ENV>
- نوشتن در فایل پیکربندی مربوط به این محیط (mise.<ENV>.toml)
- -g, --global
- نوشتن در پیکربندی سراسری (~/.config/mise/config.toml)
- -m, --manager <MANAGER>
- تنها وارد کردن بستههای مربوط به این مدیر بسته. در حال حاضر فقط `brew` پشتیبانی میشود.
- --all
- وارد کردن تمام فرمولهای پیوندخورده، از جمله وابستگیها
- -n, --dry-run
- چاپ تغییرات پیکربندی بدون نوشتن فایل پیکربندی
- -p, --path, --file <PATH>
- نوشتن در این فایل یا دایرکتوری پیکربندی
- -h, --help
- نمایش راهنما
MISE BOOTSTRAP PACKAGES PRUNE
پاکسازی بستههای نصبشده سیستمی که دیگر در `[bootstrap.packages]` تعریف نشدهاند
از فرمولهای Homebrew، caskهای متعلق به mise که با احتیاط قابل حذف هستند، و بستههای نصبشده توسط افزونههای بستهای که `PackageUninstall` را پیادهسازی میکنند پشتیبانی میکند. پاکسازی، بستههای مورد نیاز پیکربندی فعلی یا پیکربندیهای ردیابیشده، قابل بارگیری و معتبر را حفظ میکند. بستههای افزونه که پیش از اعمال اولیه آنها توسط mise نصب شده بودند، هرگز تحت مالکیت قرار نگرفته و حذف نمیشوند.
نحوه استفاده: mise bootstrap packages prune [OPTIONS]
گزینهها:
- -m, --manager <MANAGER>
- تنها پاکسازی بستههای مربوط به این مدیر بسته
- -n, --dry-run
- چاپ مواردی که حذف خواهند شد بدون پاک کردن هیچ چیز
- -y, --yes
- رد کردن اعلان تأیید
- -h, --help
- نمایش راهنما.SH "MISE BOOTSTRAP PACKAGES STATUS" نمایش وضعیت بستههای سیستم از `[bootstrap.packages]`
نحوه استفاده: mise bootstrap packages status [OPTIONS]
گزینهها:
- -J, --json
- خروجی در قالب JSON
- --missing
- خروج با کد ۱ در صورتی که هر یک از بستههای پیکربندیشده در وضعیت مطلوب خود نباشند
- -h, --help
- نمایش راهنما
MISE BOOTSTRAP PACKAGES UPGRADE
ارتقای بستههای bootstrap نصبشده از `[bootstrap.packages]`
متادیتای مدیر بسته را تازهسازی کرده و بستههای پیکربندیشدهای را که پیشتر نصب شدهاند ارتقا میدهد: apk/apt/dnf/pacman به جدیدترین نسخه موجود ارتقا مییابند (apk، apt و dnf از نسخه پینشده در پیکربندی پیروی میکنند)، brew نسخه bottle فعلی فرمول را میریزد (pour) و keg قدیمی را جایگزین میکند، brew-cask آرتفکت جاری cask را نصب میکند، flatpak و flatpak-user برنامهها و زمانهای اجرا (runtimes) را بهروزرسانی میکنند، و mas برنامههای App Store را ارتقا میدهد. بستههایی که هنوز نصب نشدهاند نادیده گرفته میشوند — برای آنها از `mise bootstrap packages apply` استفاده کنید.
بستهها را میتوان بهطور صریح در قالب `manager:package` نیز مشخص کرد.
نحوه استفاده: mise bootstrap packages upgrade [OPTIONS] [<PACKAGE>] ...
گزینهها:
- -m, --manager <MANAGER>
- تنها ارتقای بستهها برای این مدیر بسته توکار یا افزونه
- -n, --dry-run
- چاپ دستوراتی که بدون اجرا شدن، قرار بود اجرا شوند
- -y, --yes
- رد کردن پیام تایید
- -h, --help
- نمایش راهنما آرگومانها:
- <PACKAGE>
- بستهها در قالب `manager:package`؛ بهطور پیشفرض شامل تمام موارد پیکربندیشده در [bootstrap.packages] است
MISE BOOTSTRAP PACKAGES USE
افزودن بستههای bootstrap به [bootstrap.packages] و نصب آنها
مشابه `mise use` برای ابزارها: ورودیهای `"manager:package" = "version"` را در mise.toml مینویسد (بهطور پیشفرض در پیکربندی محلی، و با `-g` در پیکربندی سراسری) و سپس هر آنچه را که موجود نیست نصب میکند.
نسخهها با استفاده از `@` پین (ثابت) میشوند: `mise bootstrap packages use apt:curl@8.5.0-2`. بدون `@` (یا با `@latest`) هیچ پینی ثبت نمیشود. فرمولها و caskهای brew در عوض از طریق نامهایشان نسخهبندی میشوند (برای مثال `brew:postgresql@17`، `brew-cask:temurin@17`)، که در آنها `@` بخشی از نام Homebrew است نه انتخابگر نسخه mise. مدیر بسته mas از شناسههای عددی ADAM استفاده میکند و از پین کردن نسخه پشتیبانی نمیکند.
نحوه استفاده: mise bootstrap packages use [OPTIONS] <PACKAGE> ...
گزینهها:
- -e, --env <ENV>
- نوشتن در فایل پیکربندی مربوط به این محیط (mise.<ENV>.toml)
- -g, --global
- نوشتن در پیکربندی سراسری (~/.config/mise/config.toml) به جای پیکربندی محلی
- -n, --dry-run
- چاپ دستوراتی که بدون نوشتن پیکربندی یا نصب، قرار بود اجرا شوند
- -p, --path, --file <PATH>
- نوشتن در این فایل یا دایرکتوری پیکربندی
- -y, --yes
- رد کردن پیام تایید
- -h, --help
- نمایش راهنما آرگومانها:
- <PACKAGE>
- بستهها در قالب `manager:package[@version]`.SH "MISE BOOTSTRAP PLAN" نمایش تغییراتی که منابع راهاندازی (bootstrap) توصیفی اعمال خواهند کرد
کاربرد: mise bootstrap plan [OPTIONS]
گزینهها:
- -J, --json
- خروجی دادن یک برنامهٔ پایدار و ماشینخوان در قالب JSON
- --detailed-exitcode
- خروج با کد ۲ هنگام وجود تغییرات در برنامه، ۰ هنگام عدم تغییر، و ۱ در صورت بروز خطا
- --prompt-secrets
- درخواست امن برای ورودیهای محرمانهٔ (secret) ناموجود راهاندازی
- -h, --help
- نمایش راهنما
MISE BOOTSTRAP PLUGINS
مدیریت افزونههای مدیر بستهٔ تعریفشده در `[bootstrap.plugins]`
کاربرد: mise bootstrap plugins [OPTIONS] <COMMAND>
گزینهها:
- -h, --help
- نمایش راهنما
MISE BOOTSTRAP PLUGINS APPLY
کاربرد: mise bootstrap plugins apply [OPTIONS]
گزینهها:
- -n, --dry-run
- چاپ آنچه رخ خواهد داد بدون نصب افزونهها
- -h, --help
- نمایش راهنما
MISE BOOTSTRAP PLUGINS STATUS
کاربرد: mise bootstrap plugins status [OPTIONS]
گزینهها:
- --missing
- خروج با کد ۱ در صورت مفقود بودن یک افزونهٔ تعریفشده
- -h, --help
- نمایش راهنما
MISE BOOTSTRAP REMOTE
راهاندازی یک یا چند ماشین از طریق OpenSSH
کاربرد: mise bootstrap remote [OPTIONS] [<TARGET>] ...
گزینهها:
- --all
- انتخاب تمام میزبانهای پیکربندیشده در inventory
- --bootstrap-command <COMMAND>
- دستور شل راه دور صریح که mise را نصب کرده و آن را در PATH قرار میدهد
- --connect-timeout <CONNECT_TIMEOUT>
- مهلت زمانی اتصال SSH به ثانیه
- --copy-link <PATH>
- دنبال کردن پیوند نمادین وابسته به مبدأ (dereference)؛ برای چند پیوند تکرار شود
- --copy-links
- دنبال کردن و رونوشت مستقیم تمام پیوندهای نمادین در آرشیو مبدأ (dereference)
- --exclude <PATTERN>
- الگوی آرشیو اضافی برای مستثنی کردن؛ برای چندین الگو تکرار شود
- --fail-fast
- توقف بلافاصله پس از نخستین هدف ناموفق
- --force-dotfiles
- اجازه به جایگزینی تداخلهای فایلهای dotfile در مقصد راه دور
- --host <[USER@]HOST>
- مقصد SSH موردی (`[user@]host`)؛ برای چندین میزبان تکرار شود
- -i, --identity-file <IDENTITY_FILE>
- نادیدهگرفتن و جایگزینی فایل هویت (identity file) در SSH
- -n, --dry-run
- چاپ تغییرات راهاندازی راه دور بدون اعمال آنها
- --install-mise <PATH>
- نصب mise
آمادهشده
روی هر
میزبان به
جای
نگهداشتن
صرف آن در
مرحلهٔ
آمادهسازی
(staging)
پیشفرض `~/.local/bin/mise` است؛ برای مسیری دیگر `--install-mise=<PATH>` را ارسال کنید.
- --keep-staging
- نگهداشتن دایرکتوری آمادهسازی (staging) راه دور برای اشکالزدایی
- --mise-bin <MISE_BIN>
- باینری محلی mise برای بارگذاری (راهکار فرار برای معماریهای سفارشی)
- --no-install-mise
- عدم نصب mise روی میزبان، حتی زمانی که میزبانهای انتخابشده آن را پیکربندی کرده باشند
- --only <ONLY>
- اجرای تنها یک یا چند بخش از راهاندازی راه دور
- --port <PORT>
- جایگزینی پورت سفارشی SSH
- --prompt-secrets
- درخواست امن برای ورودیهای محرمانهٔ ناموجود در میزبان راه دور
- --remote-env <ENV>
- محیطهای پیکربندی برای بارگذاری روی میزبان راه دور؛ تکرار کنید یا با کاما جدا کنید (برای نمونه ci,dotfiles)
- --remote-mise <COMMAND>
- نام یا مسیر فایل اجرایی mise موجود؛ مسیرهای نسبی از پروژهٔ آمادهشده (staged) استفاده میکنند
- --skip <SKIP>
- رد کردن یک یا چند بخش از راهاندازی راه دور
- --source <SOURCE>
- دایرکتوری محلی که آرشیو شده و به هر هدف ارسال میشود
- --ssh-option <OPTION>
- گزینهٔ `-o` در OpenSSH؛ برای گزینههای متعدد تکرار شود
- --tag <TAG>
- انتخاب میزبانهای پیکربندیشده با این برچسب؛ برای تطبیق با هر برچسبی تکرار شود
- --update
- تازهسازی فرادادههای مدیر بسته و بهروزرسانی مخازن پیکربندیشده از راه دور
- -y, --yes
- رد کردن اعلانهای تأیید راه دور
- -h, --help
- نمایش راهنما آرگومانها:
- <TARGET>
- نامهای میزبان inventory از `[bootstrap.remote.hosts]`.SH "MISE BOOTSTRAP REPOS" مدیریت مخازن گیت دریافتشده از `[bootstrap.repos]`
کاربرد: mise bootstrap repos [OPTIONS] <COMMAND>
گزینهها:
- -h, --help
- نمایش راهنما
MISE BOOTSTRAP REPOS APPLY
کاربرد: mise bootstrap repos apply [OPTIONS]
گزینهها:
- -n, --dry-run
- نمایش دستوراتی که قرار است اجرا شوند، بدون اجرای واقعی آنها
- -y, --yes
- رد کردن اعلان تأیید
- --skip-dirty
- نادیده گرفتن مخازن دارای تغییرات محلی بهجای متوقف شدن با خطا
- -h, --help
- نمایش راهنما
MISE BOOTSTRAP REPOS EXEC
کاربرد: mise bootstrap repos exec [OPTIONS] [<PATH>] ... <COMMAND> ...
گزینهها:
- -c, --continue-on-error
- ادامه اجرا در سایر مخازن پس از بروز خطا در یک دستور
- -n, --dry-run
- نمایش دستوراتی که قرار است اجرا شوند، بدون اجرای واقعی آنها
- -h, --help
- نمایش راهنما آرگومانها:
- <PATH>
- اجرا تنها در مسیرهای منطبق با مسیرهای پیکربندیشده یا گسترشیافته
- <COMMAND>
- دستور و آرگومانها برای اجرا در هر مخزن
MISE BOOTSTRAP REPOS STATUS
کاربرد: mise bootstrap repos status [OPTIONS]
گزینهها:
- -J, --json
- خروجی با قالب JSON
- --missing
- خروج با کد ۱ در صورتی که هر یک از مخازن پیکربندیشده در وضعیت مطلوب خود نباشد
- -h, --help
- نمایش راهنما
MISE BOOTSTRAP REPOS UPDATE
کاربرد: mise bootstrap repos update [OPTIONS] [<PATH>] ...
گزینهها:
- -n, --dry-run
- نمایش دستوراتی که قرار است اجرا شوند، بدون اجرای واقعی آنها
- -y, --yes
- رد کردن اعلان تأیید
- --skip-dirty
- نادیده گرفتن مخازن دارای تغییرات محلی بهجای متوقف شدن با خطا
- -h, --help
- نمایش راهنما آرگومانها:
- <PATH>
- بهروزرسانی تنها در مسیرهای منطبق با مسیرهای پیکربندیشده یا گسترشیافته.SH "MISE BOOTSTRAP SECRETS" بررسی ورودیهای محرمانه bootstrap بدون فاش کردن مقادیر آنها
نحوه استفاده: mise bootstrap secrets [OPTIONS] <COMMAND>
گزینهها:
- -h, --help
- نمایش راهنما
MISE BOOTSTRAP SECRETS STATUS
نمایش وضعیت در دسترس بودن ورودیهای محرمانه تعریفشده bootstrap
نحوه استفاده: mise bootstrap secrets status [OPTIONS]
گزینهها:
- -J, --json
- خروجی در قالب JSON
- --missing
- خروج با کد ۱ در صورت در دسترس نبودن هر یک از ورودیهای محرمانه تعریفشده
- -h, --help
- نمایش راهنما
MISE BOOTSTRAP SERVICES
مدیریت سرویسهای سیستم لینوکس از `[bootstrap.services]`
نحوه استفاده: mise bootstrap services [OPTIONS] <COMMAND>
گزینهها:
- -h, --help
- نمایش راهنما
MISE BOOTSTRAP SERVICES APPLY
اِعمال وضعیت پیکربندیشده سرویسهای سیستم لینوکس
نحوه استفاده: mise bootstrap services apply [OPTIONS]
گزینهها:
- -n, --dry-run
- نمایش تغییرات احتمالی بدون اِعمال هیچ تغییری
- -y, --yes
- صرفنظر کردن از درخواست تأیید
- -h, --help
- نمایش راهنما
MISE BOOTSTRAP SERVICES STATUS
نمایش وضعیت پیکربندیشده سرویسهای سیستم لینوکس
نحوه استفاده: mise bootstrap services status [OPTIONS]
گزینهها:
- -J, --json
- خروجی در قالب JSON
- --missing
- خروج با کد ۱ در صورت عدم همگرایی هر یک از سرویسها به وضعیت مطلوب
- -h, --help
- نمایش راهنما
MISE BOOTSTRAP STATUS
نمایش وضعیت تجمیعی bootstrap
نحوه استفاده: mise bootstrap status [OPTIONS]
گزینهها:
- -J, --json
- خروجی در قالب JSON
- --missing
- خروج با کد ۱ در صورتی که هر یک از وضعیتهای پیکربندیشده bootstrap در وضعیت مطلوب خود نباشد
- --prompt-secrets
- درخواست امن برای دریافت ورودیهای محرمانه ناموجود bootstrap
- -h, --help
- نمایش راهنما.SH "MISE BOOTSTRAP USER" مدیریت تنظیمات راهاندازی اولیه (bootstrap) کاربر جاری از `[bootstrap.user]`
نحوه استفاده: mise bootstrap user [OPTIONS] <COMMAND>
گزینهها:
- -h, --help
- نمایش راهنما
MISE BOOTSTRAP USER APPLY
نحوه استفاده: mise bootstrap user apply [OPTIONS]
گزینهها:
- -n, --dry-run
- چاپ دستورهایی که قرار است اجرا شوند بدون اجرای واقعی آنها
- -y, --yes
- رد کردن اعلان تأیید
- -h, --help
- نمایش راهنما
MISE BOOTSTRAP USER STATUS
نحوه استفاده: mise bootstrap user status [OPTIONS]
گزینهها:
- -J, --json
- خروجی با قالب JSON
- --missing
- خروج با کد ۱ در صورتی که هر یک از تنظیمات پیکربندیشده کاربر در وضعیت مطلوب نباشد
- -h, --help
- نمایش راهنما
MISE CACHE
مدیریت حافظهٔ موقت (cache) نرمافزار mise
برای مشاهده دایرکتوری فعلی حافظهٔ موقت، `mise cache` را بدون هیچ آرگومانی اجرا کنید.
نحوه استفاده: mise cache [OPTIONS] [COMMAND]
گزینهها:
- -h, --help
- نمایش راهنما
MISE CACHE CLEAR
حذف تمامی فایلهای حافظهٔ موقت در mise
نحوه استفاده: mise cache clear [OPTIONS] [<TOOL>] ...
گزینهها:
- --outdate
- علامتگذاری تمامی فایلهای حافظهٔ موقت به عنوان قدیمی
- --task <TASK>
- پاکسازی مدخلهای حافظهٔ موقت خروجی برای یک نام یا الگوی تسک
- -h, --help
- نمایش راهنما آرگومانها:
- <TOOL>
- ابزار(هایی) که حافظهٔ موقت آنها پاک میشود؛ مانند: node, python
MISE CACHE PATH
نمایش مسیر دایرکتوری حافظهٔ موقت
نحوه استفاده: mise cache path [OPTIONS]
گزینهها:
- -h, --help
- نمایش
راهنما.SH "MISE CACHE
PRUNE" حذف
فایلهای
کهنهٔ
حافظهٔ
موقت mise
بهطور پیشفرض، این دستور فایلهایی را که در ۳۰ روز گذشته مورد دسترسی قرار نگرفتهاند حذف میکند. این مقدار را میتوانید با متغیر محیطی MISE_CACHE_PRUNE_AGE تغییر دهید.
کاربرد: mise cache prune [OPTIONS] [<TOOL>] ...
گزینهها:
- -v, --verbose
- نمایش فایلهای پاکسازیشده
- --dry-run
- صرفاً نمایش مواردی که پاکسازی خواهند شد
- -h, --help
- نمایش راهنما آرگومانها:
- <TOOL>
- ابزار(هایی) که حافظهٔ موقت آنها پاکسازی میشود؛ مانند: node، python
MISE CACHE TASK
بررسی مدخلهای حافظهٔ موقت خروجی برای یک وظیفه
کاربرد: mise cache task [OPTIONS] <TASK>
گزینهها:
- -J, --json
- ارائهٔ خروجی در قالب JSON
- -h, --help
- نمایش راهنما آرگومانها:
- <TASK>
- نام یا الگوی وظیفه جهت بررسی
MISE COMPLETION
تولید تکمیل خودکار پوسته
کاربرد: mise completion [OPTIONS] [<SHELL>]
گزینهها:
- -s, --shell <SHELL>
- نوع پوسته برای تولید تکمیل خودکار
- --include-bash-completion-lib
- برای
سازگاری با
تولیدکنندههای
قدیمیتر
تکمیل
خودکار
نگهداشته
شده است.
اسکریپت bash درونی usage-rs خودکفا (self-contained) است، بنابراین این گزینه اکنون هیچ عملی انجام نمیدهد (no-op).
- --usage
- برای
سازگاری با
تولیدکنندههای
قدیمیتر
تکمیل
خودکار
نگهداشته
شده است.
تکمیلهای خودکار اکنون همیشه از پروتکل درونی usage-rs استفاده میکنند، بنابراین این گزینه هیچ عملی انجام نمیدهد (no-op).
- --install
- نصب
اسکریپت در
محلی که این
پوسته
بهدنبال
آن
میگردد،
بهجای چاپ
آن در خروجی
فایل اسکریپت را مینویسد و کار دیگری نمیکند: هیچ فایل rc متعلق به پوسته و هیچ نمایهٔ PowerShell ویرایش نمیشود. در مواردی که یک پوسته به یک سطر اختصاصی و یکباره نیاز دارد — مانند `fpath+=` در zsh یا dot-source در PowerShell — آن سطر چاپ میشود تا خودتان آن را اضافه کنید.
- --force
- جایگزینی فایلی در مسیر هدف که توسط mise نوشته نشده است
- -h, --help
- نمایش راهنما آرگومانها:
- <SHELL>
- نوع پوسته برای تولید تکمیل خودکار.SH "MISE CONFIG" مدیریت فایلهای پیکربندی
کاربرد: mise config [OPTIONS] [COMMAND]
گزینهها:
- -J, --json
- خروجی در قالب JSON
- --no-header
- عدم چاپ سرآیند جدول
- --tracked-configs
- فهرست کردن تمام فایلهای پیکربندی ردیابیشده
- -h, --help
- نمایش راهنما
MISE CONFIG GET
نمایش مقدار یک تنظیم در فایل mise.toml
کاربرد: mise config get [OPTIONS] [<KEY>]
گزینهها:
- -f, --file, --path <FILE>
- مسیر فایل
mise.toml جهت
خواندن
میتواند مسیر یک فایل یا دایرکتوری باشد. اگر یک دایرکتوری مشخص شود، از فایل پیکربندی درون آن دایرکتوری استفاده میشود.
در صورت عدم ارائه، از نزدیکترین فایل mise.toml استفاده خواهد شد
- -g, --global
- خواندن فایل پیکربندی سراسری.
- --system
- خواندن فایل پیکربندی سیستمی.
- -h, --help
- نمایش راهنما آرگومانها:
- <KEY>
- مسیر پیکربندی مورد نظر برای نمایش
MISE CONFIG LS
فهرست کردن فایلهای پیکربندی در حال استفاده
کاربرد: mise config ls [OPTIONS]
گزینهها:
- -J, --json
- خروجی در قالب JSON
- --no-header
- عدم چاپ سرآیند جدول
- --tracked-configs
- فهرست کردن تمام فایلهای پیکربندی ردیابیشده
- -h, --help
- نمایش راهنما
MISE CONFIG SET
تنظیم مقدار یک مشخصه در فایل mise.toml
کاربرد: mise config set [OPTIONS] <KEY> [<VALUE>]
گزینهها:
- -f, --file, --path <FILE>
- مسیر فایل
mise.toml جهت
ویرایش
میتواند مسیر یک فایل یا دایرکتوری باشد. اگر یک دایرکتوری مشخص شود، از فایل پیکربندی درون آن دایرکتوری استفاده میشود.
در صورت عدم ارائه، از نزدیکترین فایل mise.toml استفاده خواهد شد
- -g, --global
- ویرایش فایل پیکربندی سراسری.
- --system
- ویرایش فایل پیکربندی سیستمی.
- --append
- افزودن مقدار بدون ایجاد ورودی تکراری.
- --remove
- حذف مقدار از یک مجموعه موجود.
- -t, --type <TYPE>
- -h, --help
- نمایش راهنما آرگومانها:
- <KEY>
- مسیر پیکربندی مورد نظر برای نمایش
- <VALUE>
- مقداری که
کلید باید
با آن تنظیم
شود (در
صورت مشخص
شدن به صورت
KEY=VALUE اختیاری
است).SH "MISE DEACTIVATE"
غیرفعالسازی
mise برای نشست
پوسته فعلی
این دستور میتواند برای غیرفعالسازی موقت mise در یک نشست پوسته استفاده شود.
نحوه استفاده: mise deactivate [OPTIONS]
گزینهها:
- -h, --help
- نمایش راهنما
MISE DOCTOR
بررسی نصب mise برای مشکلات احتمالی
نحوه استفاده: mise doctor [OPTIONS] [COMMAND]
گزینهها:
- -J, --json
- -h, --help
- نمایش راهنما
MISE DOCTOR PATH
چاپ ورودیهای فعلی PATH که mise فراهم میکند
نحوه استفاده: mise doctor path [OPTIONS]
گزینهها:
- -f, --full
- چاپ همه ورودیها شامل مواردی که توسط mise فراهم نشدهاند
- -h, --help
- نمایش راهنما
MISE EN
شروع یک پوسته جدید با محیط mise ایجادشده بر اساس پیکربندی فعلی
این یک جایگزین برای `mise activate` است که به شما امکان میدهد صریحاً یک نشست mise را آغاز کنید. این نشست ابزارها و متغیرهای محیطی موجود در پیکربندیها را بارگذاری خواهد کرد. توجه داشته باشید که تغییر دایرکتوریها محیط mise را بهروزرسانی نخواهد کرد.
نحوه استفاده: mise en [OPTIONS] [<DIR>]
گزینهها:
- -s, --shell <SHELL>
- پوسته برای
اجرا
پیشفرض: $SHELL
- -h, --help
- نمایش راهنما آرگومانها:
- <DIR>
- دایرکتوری برای شروع پوسته در آن
MISE ENV
برونریزی متغیرهای محیطی برای فعالسازی یکبارهٔ mise
اگر نمیخواهید mise را بهصورت دائمی نصب کنید، از این دستور استفاده کنید. در صورتی که `mise activate` را در فایل rc پوسته خود دارید، نیازی به استفاده از این دستور نیست.
نحوه استفاده: mise env [OPTIONS] [<TOOL@VERSION>] ...
گزینهها:
- -D, --dotenv
- خروجی در قالب dotenv
- -J, --json
- خروجی در قالب JSON
- -s, --shell <SHELL>
- نوع پوسته برای تولید متغیرهای محیطی برای آن
- --json-extended
- خروجی در قالب JSON با اطلاعات تکمیلی (source، tool)
- --redacted
- تنها نمایش متغیرهای محیطی مخدوششده (redacted)
- --values
- تنها نمایش مقادیر متغیرهای محیطی
- -h, --help
- نمایش راهنما آرگومانها:
- <TOOL@VERSION>
- ابزار(ها)
برای
استفاده.SH "MISE
EXEC" اجرای یک
دستور به
همراه
ابزار(های)
مشخصشده
از این دستور برای جلوگیری از تغییر نشست پوسته یا اجرای دستورهای موردی (ad-hoc) همراه با ابزارهای تنظیمشده mise استفاده کنید.
ابزارها از mise.toml بارگذاری خواهند شد، هرچند میتوان آنها را با آرگومانهای <RUNTIME> بازنویسی کرد. توجه داشته باشید که تنها افزونهٔ مشخصشده بازنویسی خواهد شد؛ بنابراین اگر یک فایل `mise.toml` شامل «node 20» باشد ولی شما `mise exec python@3.11` را اجرا کنید، همچنان node@20 بارگذاری خواهد شد.
علامت «--» زمانهای اجرا (runtimes) را از دستوراتی که باید به زیرپروسه ارسال شوند جدا میکند.
کاربرد: mise exec [OPTIONS] [<TOOL@VERSION>] ... [<COMMAND>] ...
گزینهها:
- -c, --command <COMMAND>
- رشته دستوری برای اجرا
- -j, --jobs <JOBS>
- تعداد وظایف برای اجرای موازی مقادیر کمتر از ۱ به عنوان ۱ در نظر گرفته میشوند [پیشفرض: 4]
- --allow-env <VAR>
- مجاز کردن عبور متغیر محیطی مشخص (به طور ضمنی به معنای --deny-env برای سایر متغیرها است) از نویسههای عام (wildcards) پشتیبانی میکند، مانند --allow-env='MYAPP_*'
- --allow-net <HOST>
- مجاز کردن شبکه به میزبان مشخص (به طور ضمنی به معنای --deny-net برای سایر موارد است) در نسخه ۱ فقط مخصوص macOS است؛ در Linux به مجاز بودن کل شبکه بازمیگردد
- --allow-read <PATH>
- مجاز کردن خواندن از مسیر مشخص (به طور ضمنی به معنای --deny-read برای سایر مسیرها است)
- --allow-write <PATH>
- مجاز کردن نوشتن در مسیر مشخص (به طور ضمنی به معنای --deny-write برای سایر مسیرها است)
- --deny-all
- مسدود کردن خواندن، نوشتن، شبکه و متغیرهای محیطی
- --deny-env
- مسدود کردن ارثبری متغیرهای محیطی (تنها متغیرهای PATH، HOME، USER، SHELL، TERM و LANG عبور میکنند)
- --deny-net
- مسدود کردن تمامی دسترسیهای شبکه
- --deny-read
- مسدود کردن خواندن از سیستمفایل (کتابخانههای سیستم و دایرکتوریهای ابزار همچنان در دسترس خواهند بود)
- --deny-write
- مسدود کردن تمام عملیاتهای نوشتن روی سیستمفایل
- --fresh-env
- دور زدن حافظه موقت (cache) محیط و محاسبهٔ مجدد متغیرهای محیطی
- --no-deps
- صرفنظر کردن از آمادهسازی خودکار وابستگیها
- --raw
- اتصال مستقیم ورودی/خروجی/خطای استاندارد (stdin/stdout/stderr) دستور نصب backend به ترمینال؛ به طور ضمنی مقدار --jobs=1 را فعال میکند
- -h, --help
- نمایش راهنما آرگومانها:
- <TOOL@VERSION>
- ابزار(ها) برای اجرا؛ برای نمونه: node@20 python@3.10
- <COMMAND>
- رشته دستوری برای اجرا (مشابه --command)
MISE FMT
قالببندی فایل mise.toml
مرتبسازی کلیدها و پاکسازی فاصلههای خالی در mise.toml
کاربرد: mise fmt [OPTIONS]
گزینهها:
- -a, --all
- قالببندی تمام فایلهای دایرکتوری فعلی
- -c, --check
- بررسی اینکه آیا پیکربندیها قالببندی شدهاند یا خیر؛ تغییری اعمال نمیشود
- -s, --stdin
- خواندن پیکربندی از ورودی استاندارد (stdin) و نوشتن نسخه قالببندیشده در خروجی استاندارد (stdout)
- -h, --help
- نمایش راهنما.SH "MISE GENERATE" تولید فایلها برای ابزارها/سرویسهای گوناگون
نحوه استفاده: mise generate [OPTIONS] <COMMAND>
گزینهها:
- -h, --help
- نمایش راهنما
MISE GENERATE CONFIG
تولید یک فایل mise.toml
نحوه استفاده: mise generate config [OPTIONS] [<PATH>]
گزینهها:
- -g, --global
- تولید فایل پیکربندی سراسری (~/.config/mise/config.toml)
- -n, --dry-run
- نمایش آنچه تولید خواهد شد بدون نوشتن در فایل
- -t, --tool-versions <TOOL_VERSIONS>
- مسیر یک فایل .tool-versions جهت وارد کردن ابزارها از آن
- -h, --help
- نمایش راهنما آرگومانها:
- <PATH>
- مسیر فایل پیکربندی برای ایجاد
MISE GENERATE DEVCONTAINER
تولید یک devcontainer برای اجرای mise
نحوه استفاده: mise generate devcontainer [OPTIONS]
گزینهها:
- -i, --image <IMAGE>
- ایمیج مورد استفاده برای devcontainer
- -m, --mount-mise-data
- اتصال (bind) حجم mise-data-volume به devcontainer
- -n, --name <NAME>
- نام devcontainer
- -w, --write
- نوشتن در .devcontainer/devcontainer.json
- -h, --help
- نمایش راهنما
MISE GENERATE GIT-PRE-COMMIT
تولید یک هوک pre-commit برای git
این دستور یک هوک pre-commit در git تولید میکند که هنگام ثبت (commit) تغییرات در مخزن شما، یک تسک mise مانند `mise run pre-commit` را اجرا میکند.
فایلهای مرحلهبندیشده (staged) به عنوان `STAGED` به تسک ارسال میشوند.
برای قابلیتهای پیشرفتهتر pre-commit، پروژه همزاد mise را بررسی کنید: https://hk.jdx.dev
نحوه استفاده: mise generate git-pre-commit [OPTIONS] [<MISE_ARG>] ...
گزینهها:
- -t, --task <TASK>
- تسکی که با فعال شدن هوک pre-commit اجرا میشود
- -w, --write
- نوشتن در .git/hooks/pre-commit و اجرایی کردن آن
- --hook <HOOK>
- مشخص میکند کدام هوک تولید شود (در .git/hooks/$hook ذخیره میشود)
- -h, --help
- نمایش راهنما آرگومانها:
- <MISE_ARG>
- پرچمهای mise
برای
گنجاندن در
هوک
تولیدشده،
که پس از `--`
مشخص
میشوند
این موارد بین `mise` و `run` درج میشوند، بنابراین هوک همان زمینهای را حمل میکند که در خط فرمان وارد میکردید. این ویژگی زمانی مفید است که فایل پیکربندی در ریشه مخزن نباشد، زیرا git هوکها را از بالاترین سطح اجرا میکند: استفاده از `-- -C subdir` باعث میشود هوک بتواند آن را پیدا کند..SH "MISE GENERATE GITHUB-ACTION" تولید یک فایل گردشکار GitHub Action
این دستور یک فایل گردشکار GitHub Action تولید میکند که با ارسال تغییرات (push) به مخزن شما، یک تسک mise مانند `mise run ci` را اجرا میکند.
کاربرد: mise generate github-action [OPTIONS]
گزینهها:
- -t, --task <TASK>
- تسکی که با فعال شدن گردشکار اجرا میشود
- -w, --write
- نوشتن در .github/workflows/$name.yml
- --name <NAME>
- نام گردشکار برای تولید
- -h, --help
- نمایش راهنما
MISE GENERATE INSTALL-SCRIPT
تولید اسکریپتی برای دانلود و اجرای mise
این دستور برای استفاده در پروژهای طراحی شده است که در آن ممکن است مشارکتکنندگان mise را نصب نداشته باشند.
نام آن از `mise generate bootstrap` تغییر یافته است، که به شکل حالتی از `mise bootstrap` (راهاندازی ماشین) برداشت میشد. نام قدیمی همچنان کار میکند اما منسوخ شده است و در نسخه mise 2027.9.0 حذف خواهد شد.
کاربرد: mise generate install-script [OPTIONS]
گزینهها:
- -l, --localize
- دایرکتوریهای
داخلی mise
مانند MISE_DATA_DIR و
MISE_CACHE_DIR را درون
یک
دایرکتوری
`.mise` در پروژه
ایزوله (sandbox)
میکند
این مورد در صورتی ضروری است که کاربران ممکن است از نسخه متفاوتی از mise خارج از پروژه استفاده کنند.
- -V, --version <VERSION>
- مشخص کردن نسخه mise جهت دریافت
- -w, --write <WRITE>
- به جای ارسال اسکریپت به stdout، آن را در یک فایل مینویسد و اجرایی میکند
- --localized-dir <LOCALIZED_DIR>
- دایرکتوری برای قرار دادن دادههای محلی
- --windows
- همچنین یک
اجراکننده
ویندوز به
نام `<WRITE>.cmd`
مینویسد
ویندوز قادر به اجرای اسکریپت `#!/usr/bin/env bash` نیست، بنابراین مشارکتکنندهای که پروژه را در ویندوز clone میکند، بدون این فایل چیزی برای اجرا نخواهد داشت.
روی تمام میزبانها تولید میشود، نه فقط در ویندوز: فایل commit میشود و کسی که آن را در ویندوز اجرا میکند، فردی نیست که آن را تولید کرده است. نیازمند `--write` است، زیرا stdout نمیتواند حامل دو فایل باشد.
- -h, --help
- نمایش راهنما
MISE GENERATE TASK-DOCS
تولید مستندات برای تسکها در یک پروژه
کاربرد: mise generate task-docs [OPTIONS]
گزینهها:
- -i, --inject
- مستندات را
درون یک
فایل موجود
درج میکند
این گزینه به دنبال کامنت ویژه `<!-- mise-tasks -->` میگردد و آن را با مستندات تولیدشده جایگزین میکند. تمام محتوای بین این کامنت و کامنت بعدی، یعنی `<!-- /mise-tasks -->` جایگزین خواهد شد، بنابراین میتوان آن را چندین بار روی همان فایل برای بهروزرسانی مستندات اجرا کرد. فایل باید از قبل حاوی هر دو کامنت باشد؛ در صورت نبود آنها، mise به جای دستکاری فایل، با خطا متوقف میشود.
- -I, --index
- تنها فهرستی از تسکها را مینویسد، در نظر گرفته شده برای استفاده با `--multi`
- -m, --multi
- رندر کردن هر تسک به عنوان سندی جداگانه، نیازمند این است که `--output` یک دایرکتوری باشد
- -o, --output <OUTPUT>
- مستندات تولیدشده را در یک فایل/دایرکتوری مینویسد
- -r, --root <ROOT>
- دایرکتوری ریشه برای جستجوی تسکها
- -s, --style <STYLE>
- -h, --help
- نمایش
راهنما.SH "MISE GENERATE
TASK-STUBS" تولید
شیمها
برای اجرای
تسکهای mise
بهطور پیشفرض، این دستور شیمهایی مانند ./bin/<task> را میسازد. این شیمها میتوانند با `mise generate install-script` جفت شوند تا مشارکتکنندگان یک پروژه بتوانند بدون نیاز به نصب mise روی سیستم خود، تسکهای mise را اجرا کنند. هنگامی که هر دو تسک والد و تو در تو وجود داشته باشند، استاب والد در `<parent>/_default` نوشته میشود.
کاربرد: mise generate task-stubs [OPTIONS]
گزینهها:
- -d, --dir <DIR>
- دایرکتوری برای ایجاد استابهای تسک در داخل آن
- -m, --mise-bin <MISE_BIN>
- مسیر
باینری mise
برای
استفاده
هنگام
اجرای
استاب تسک.
برای استفاده از باینری mise تولید شده توسط `mise generate install-script` از `--mise-bin=./bin/mise` استفاده کنید
در Windows یک مسیر همانطور که نوشته شده اجرا میشود، بنابراین آن اسکریپت به لانچر اختصاصی خود در کنارش نیاز دارد: آن را با `mise generate install-script --write ./bin/mise --windows` تولید کنید. مقدار پیشفرض `mise` یک نام خالی است و از طریق PATH شناسایی میشود، که به چیز اضافهای نیاز ندارد.
- --windows-launcher <WINDOWS_LAUNCHER>
- آنچه باید
در کنار هر
استاب برای
راهاندازی
در Windows نوشته
شود
مقدار `cmd` فایل `<task>.cmd` را مینویسد. برنامه cmd.exe قبل از بسط یافتن `%*` کل خط را دوباره تجزیه میکند، بنابراین اگر لانچر از PowerShell فراخوانی شود، آرگومانی که شامل `& ^ | " %VAR%` باشد به صورت دستنخورده به تسک نمیرسد.
مقدار `exe` در عوض یک فایل بومی `<task>.exe` مینویسد که آرگومانهای خود را از هر پوستهای بدون تغییر دریافت میکند. این یک کپی از mise-shim.exe است که همراه با ساخت Windows عرضه میشود، بنابراین فقط در Windows قابل تولید است و به ازای هر تسک حدود ۲۲۰ کیلوبایت به دایرکتوریای اضافه میکند که معمولاً کامیت میشود.
- -h, --help
- نمایش راهنما
MISE GENERATE TOOL-STUB
تولید یک استاب ابزار برای ابزارهای مبتنی بر HTTP
این دستور استابهای ابزاری را تولید میکند که میتوانند بهطور خودکار ابزارها را از نشانیهای HTTP دانلود و اجرا کنند. این دستور میتواند با دانلود و تجزیهوتحلیل ابزار، چکسامها، اندازههای فایل و مسیرهای باینری را بهطور خودکار شناسایی کند.
هنگام تولید استابها با نشانیهای مختص پلتفرم، این دستور به جای بازنویسی فایلهای استاب موجود، پلتفرمهای جدید را به آنها اضافه میکند. این ویژگی به شما امکان میدهد استابهای ابزار چندپلتفرمی را بهصورت تدریجی بسازید.
کاربرد: mise generate tool-stub [OPTIONS] <OUTPUT>
گزینهها:
- -b, --bin <BIN>
- مسیر
باینری
درون آرشیو
استخراجشده
اگر مشخص نشده باشد و آرشیو دانلود شود، محتملترین باینری بهطور خودکار شناسایی خواهد شد
- --bootstrap
- قراردادن
استاب در یک
اسکریپت
راهانداز
(bootstrap) که در
صورت عدم
وجود mise، آن
را نصب
میکند
در صورت فعال بودن، یک اسکریپت bash تولید میکند که: 1. بررسی میکند آیا mise در مسیر مورد انتظار نصب شده است یا خیر 2. در غیر این صورت، mise را با استفاده از نصاب تعبیهشده دانلود و نصب میکند 3. استاب ابزار را با استفاده از mise اجرا میکند
- --bootstrap-version <BOOTSTRAP_VERSION>
- مشخص کردن
نسخه mise برای
اسکریپت
راهانداز
بهطور پیشفرض، از آخرین نسخه موجود در اسکریپت نصب استفاده میکند. از این گزینه برای تثبیت روی یک نسخه مشخص (مثلاً "2025.1.0") استفاده کنید.
- --checksum-algorithm <CHECKSUM_ALGORITHM>
- الگوریتم
چکسام برای
استفاده
هنگام
دانلود
مصنوعات
مقادیر `blake3` یا `sha256` را میپذیرد و مقدار پیشفرض آن `blake3` است. نمیتوان از آن همراه با `--lock` یا `--skip-download` استفاده کرد زیرا آن حالتها چکسام را محاسبه نمیکنند.
- --fetch
- دریافت
چکسامها و
اندازهها
برای یک
فایل استاب
ابزار
موجود
این گزینه یک فایل استاب موجود را خوانده و با دانلود فایلها، هر فیلد ناموجود چکسام/اندازه را تکمیل میکند. نشانیهای وب باید از قبل در استاب وجود داشته باشند.
- --http <HTTP>
- نوع بَکاند HTTP برای استفاده
- --lock
- بررسی و جاسازی دادههای lockfile (نسخه دقیق + نشانیها/چکسامهای پلتفرم) در یک فایل استاب موجود برای نصبهای بازتولیدپذیر بدون فراخوانیهای API در زمان اجرا
- --platform-bin <PLATFORM_BIN>
- مسیرهای
باینری
مختص
پلتفرم در
قالب platform:path
مثالها: --platform-bin windows-x64:tool.exe --platform-bin linux-x64:bin/tool
- --platform-url <PLATFORM_URL>
- نشانیهای
وب مختص
پلتفرم در
قالب platform:url یا
فقط url (تشخیص
خودکار
پلتفرم)
هنگامی که فایل خروجی از قبل موجود باشد، پلتفرمهای جدید به جدول پلتفرمهای موجود اضافه میشوند. نشانیهای پلتفرم موجود در صورت مشخص شدن مجدد، بهروزرسانی خواهند شد.
اگر تنها یک نشانی وب مشخص شود (بدون platform:)، پلتفرم بهطور خودکار از نام فایل نشانی وب تشخیص داده میشود.
مثالها: --platform-url linux-x64:https://... --platform-url https://nodejs.org/dist/v22.17.1/node-v22.17.1-darwin-arm64.tar.gz
- --skip-download
- صرفنظر کردن از دانلود برای تشخیص چکسام و مسیر باینری (سریعتر اما با اطلاعات کمتر)
- -u, --url <URL>
- نشانی وب
برای
دانلود
ابزار
مثال: https://github.com/owner/repo/releases/download/v2.0.0/tool-linux-x64.tar.gz
- --version <VERSION>
- نسخه ابزار
- -h, --help
- نمایش راهنما آرگومانها:
- <OUTPUT>
- مسیر فایل
خروجی برای
استاب
ابزار.SH "MISE IMPLODE"
ابزار خط
فرمان mise و
تمام
دادههای
مرتبط با آن
را حذف
میکند
بهطور پیشفرض از دایرکتوری پیکربندی صرفنظر میکند.
نحوه استفاده: mise implode [OPTIONS]
گزینهها:
- -n, --dry-run
- فهرست کردن دایرکتوریهایی که حذف خواهند شد، بدون حذف واقعی آنها
- --config
- حذف دایرکتوری پیکربندی نیز
- -h, --help
- نمایش راهنما
MISE EDIT
ویرایش تعاملی mise.toml
نحوه استفاده: mise edit [OPTIONS] [<PATH>]
گزینهها:
- -g, --global
- ویرایش فایل پیکربندی سراسری (~/.config/mise/config.toml)
- -n, --dry-run
- نمایش آنچه بدون نوشتن در فایل تولید میشود
- -t, --tool-versions <TOOL_VERSIONS>
- مسیر فایل .tool-versions برای وارد کردن ابزارها از آن
- -h, --help
- نمایش راهنما آرگومانها:
- <PATH>
- مسیر فایل پیکربندی برای ایجاد
MISE INSTALL
نصب یک نسخه از ابزار
نسخهٔ ابزار را در `~/.local/share/mise/installs/<TOOL>/<VERSION>` نصب میکند نصب بهتنهایی ابزارها را فعال نمیکند، بنابراین در PATH قرار نخواهند گرفت. برای نصب و/یا فعالسازی در یک دستور، از `mise use` استفاده کنید که یک فایل `mise.toml` در دایرکتوری فعلی ایجاد میکند تا ابزار هنگام حضور در این دایرکتوری فعال شود. همچنین، میتوانید `mise exec <TOOL>@<VERSION> -- <COMMAND>` را برای اجرای یک ابزار بدون ایجاد فایلهای پیکربندی اجرا کنید.
ابزارها بهصورت موازی نصب خواهند شد. برای غیرفعال کردن، `--jobs=1` یا `MISE_JOBS=1` را تنظیم کنید
نحوه استفاده: mise install [OPTIONS] [<TOOL@VERSION>] ...
گزینهها:
- -f, --force
- نصب مجدد اجباری حتی در صورت نصب بودن از قبل در صورت مشخص نشدن هیچ ابزاری، تمام ابزارهای پیکربندیشده مجدداً نصب میشوند
- -j, --jobs <JOBS>
- تعداد کارهای موازی برای اجرا مقادیر کمتر از ۱ معادل ۱ در نظر گرفته میشوند [پیشفرض: 4]
- -n, --dry-run
- نمایش آنچه که نصب خواهد شد بدون نصب واقعی آن
- -v, --verbose
- نمایش
خروجی نصب
این آرگومان خروجی پسزمینه (backend) مانند خروجیهای دانلود، پیکربندی و کامپایل را چاپ میکند.
- --dry-run-code
- مشابه --dry-run
است، اما در
صورتی که
ابزارهایی
برای نصب
وجود داشته
باشد با کد
۱ خارج
میشود
این گزینه برای اسکریپتها جهت بررسی نیاز به نصب ابزارها مفید است.
- --include-task-tools
- ابزارهای
مورد نیاز
وظایف (tasks) در
محدودهٔ
فعلی را نیز
نصب میکند
این گزینه ابزارهای وظیفه را بدون اجرای دستورات یا وابستگیهای وظایف آماده میکند. با --monorepo ترکیب کنید تا وظایف مربوط به همهٔ ریشههای پیکربندیشده لحاظ شوند.
- --include-lazy
- ابزارهای
پیکربندیشده
با `lazy = true` را نیز
نصب میکند
بهطور پیشفرض، دستور سادهٔ `mise install` ابزارهای lazy را برای نصب در زمان اجرای نخستین دستور باقی میگذارد.
- --minimum-release-age <MINIMUM_RELEASE_AGE>
- تنها
نسخههایی
را نصب
میکند که
قبل از این
تاریخ
منتشر شده
یا
قدیمیتر
از این
مدتزمان
باشند
از تاریخهای مطلق مانند "2024-06-01" و مدتزمانهای نسبی مانند "90d" یا "1y" پشتیبانی میکند.
- --monorepo
- نصب
ابزارها از
هر ریشهٔ
پیکربندی
[monorepo].config_roots
از MISE_ENV فعال استفاده میکند و به monorepo_root = true بههمراه [monorepo].config_roots صریح در پیکربندی ریشهٔ monorepo نیاز دارد.
- --raw
- اتصال مستقیم stdin/stdout/stderr دستور نصب backend به ترمینال؛ متضمن --jobs=1 است
- نصب
ابزار(ها)
در یک
دایرکتوری
اشتراکی
بهجای مکان نصب پیشفرض، در دایرکتوری مشخصشده نصب میکند. بسته به مسیر ممکن است به دسترسیهای بالاتری نیاز داشته باشد.
- --system
- نصب
ابزار(ها)
در
دایرکتوری
اشتراکی در
سطح کل
سیستم
در /usr/local/share/mise/installs (یا MISE_SYSTEM_DATA_DIR/installs) نصب میکند. ممکن است به دسترسیهای سطح بالا (مانند sudo) نیاز داشته باشد.
- -h, --help
- نمایش راهنما آرگومانها:
- <TOOL@VERSION>
- ابزار(ها)
برای نصب؛
به عنوان
مثال: node@20.SH "MISE INSTALL-INTO"
نصب نسخه یک
ابزار در یک
مسیر مشخص
جهت ساخت یک ابزار در یک دایرکتوری برای استفاده در خارج از mise به کار میرود
کاربرد: mise install-into [OPTIONS] <TOOL@VERSION> <PATH>
گزینهها:
- -h, --help
- نمایش راهنما آرگومانها:
- <TOOL@VERSION>
- ابزار جهت نصب، به عنوان مثال: node@20
- <PATH>
- مسیری که ابزار باید در آن نصب شود
MISE LATEST
دریافت آخرین نسخه موجود برای یک پلاگین
از پیشوندهایی مانند `node@20` برای دریافت آخرین نسخه node 20 پشتیبانی میکند.
کاربرد: mise latest [OPTIONS] <TOOL@VERSION> [<ASDF_VERSION>]
گزینهها:
- -i, --installed
- نمایش آخرین نسخه نصبشده به جای نسخه موجود
- --minimum-release-age <MINIMUM_RELEASE_AGE>
- تنها در نظر
گرفتن
نسخههایی
که پیش از
این تاریخ
منتشر
شدهاند یا
قدمتی
بیشتر از
این بازه
زمانی
دارند
از تاریخهای مطلق مانند "2024-06-01" و بازههای زمانی نسبی مانند "90d" یا "1y" پشتیبانی میکند. بر گزینههای `minimum_release_age` هر ابزار و تنظیم سراسری `minimum_release_age` اولویت دارد.
- -h, --help
- نمایش راهنما آرگومانها:
- <TOOL@VERSION>
- ابزاری که آخرین نسخه آن دریافت میشود
- <ASDF_VERSION>
- پیشوند نسخه برای استفاده در هنگام پرسوجوی آخرین نسخه؛ مشابه با اولین آرگومان پس از "@" که برای سازگاری با asdf استفاده میشود
MISE LINK
ایجاد پیوند نمادین (symlink) از نسخه یک ابزار به درون mise
برای افزودن مواردی که خارج از mise به صورت سفارشی کامپایل شده یا با ابزار دیگری ساخته شدهاند استفاده میشود.
کاربرد: mise link [OPTIONS] <TOOL@VERSION> <PATH>
گزینهها:
- -f, --force
- بازنویسی نسخه موجود ابزار در صورت وجود
- -h, --help
- نمایش راهنما آرگومانها:
- <TOOL@VERSION>
- نام و نسخه ابزار جهت ایجاد پیوند نمادین
- <PATH>
- مسیر محلی به نسخه ابزار به عنوان مثال: ~/.nvm/versions/node/v20.0.0
MISE LOCK
بهروزرسانی مجموعهای وارسی (checksum) و نشانیهای URL فایل قفل برای تمام پلتفرمهای مشخصشده
مجموعهای وارسی و نشانیهای URL بارگیری را برای تمامی پلتفرمهایی که از قبل در lockfile مشخص شدهاند بهروزرسانی میکند. اگر هیچ lockfile وجود نداشته باشد، آنچه را که بر اساس پیکربندی فعلی (شامل ابزارهای تعریفشده توسط وظایف) ایجاد میشود نمایش میدهد. این به شما امکان میدهد تا دادههای lockfile را برای پلتفرمهایی غیر از پلتفرمی که هماکنون روی آن هستید بازآوری کنید. روی lockfile در ریشه پیکربندی فعلی عمل میکند. از آرگومانهای TOOL برای هدف قرار دادن ابزارهای مشخص استفاده کنید.
کاربرد: mise lock [OPTIONS] [<TOOL>] ...
گزینهها:
- -g, --global
- تنها فایلهای قفل پیکربندی سراسری را هدف قرار میدهد (~/.config/mise/mise.lock و پیکربندی سیستم) بهطور پیشفرض، تنها ریشه پیکربندی پروژه فعال قفل میشود
- -j, --jobs <JOBS>
- تعداد کارهایی که به صورت موازی اجرا میشوند مقادیر کمتر از ۱ به عنوان ۱ در نظر گرفته میشوند
- -n, --dry-run
- نمایش مواردی که بدون اعمال تغییرات، بهروزرسانی خواهند شد
- -p, --platform <PLATFORM>
- فهرست جداشده با کاما از پلتفرمهای هدف به عنوان مثال: linux-x64,macos-arm64,windows-x64 در صورت مشخص نشدن، تمام پلتفرمهای موجود در lockfile بهروزرسانی خواهند شد
- --bump
- حل مجدد
انتخابکنندههای
فازی نسخه
در برابر
آخرین
نسخههای
موجود
بهطور پیشفرض، `mise lock` متادادههای نسخههای قفلشده فعلی را بازآوری میکند. با این پرچم، انتخابکنندههایی مانند "latest"، "lts" یا پیشوندهایی مانند "20" مجدداً در برابر آخرین نسخههای راه دور منطبق بازسنجی میشوند، بنابراین lockfile بدون نصب هیچ موردی به جلو حرکت میکند. فایلهای پیکربندی هرگز تغییر نمیکنند: نسخههایی که دقیقاً پین شدهاند به خودشان حل شده و بدون تغییر باقی میمانند (از `mise upgrade --bump` برای بازنویسی پینها در mise.toml استفاده کنید).
- --json
- نمایش
تغییرات
نسخه در
قالب JSON
آرایهای از اشیاء را چاپ میکند که تغییرات نسخه lockfile را توصیف میکنند: name، backend، lockfile، old_versions، new_versions. فهرستهای نسخه ترتیب پیکربندی/lockfile را حفظ میکنند؛ آنها مرتبسازی نمیشوند. تنها تغییرات در سطح نسخه گزارش میشوند: بازآوری مجموعهای وارسی/نشانیهای URL برای نسخههای بدون تغییر ورودی ایجاد نمیکند، بنابراین اجرای ساده `mise lock --json` معمولاً در عین بهروزرسانی lockfile مقدار `[]` را چاپ میکند. خروجی انسانخوانا را لغو میکند. برای تشخیص بهروزرسانیهای موجود بدون نوشتن lockfile، با `--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" پالایش نمیشوند. مدخلهای منطبق موجود در lockfile حفظ میشوند و صرفاً با این پرچم تنزل نمییابند.
- --upgrade
- ارتقای
lockfileهای قدیمی
به آخرین
قالب
lockfileهای بدون نسخه موجود از نسخه قالب ۰ استفاده میکنند و برای جلوگیری از انحراف ناخواسته lockfile دستنخورده باقی میمانند. این پرچم آنها را به آخرین قالب با اتصالات نسخه ویژه هر درخواست ارتقا میدهد. ارتقای قالب همیشه تمام ابزارهای پیکربندیشده را پردازش میکند و نمیتوان آن را با آرگومانهای ابزار ترکیب کرد.
- -h, --help
- نمایش راهنما آرگومانها:
- <TOOL>
- ابزار(ها)
جهت
بهروزرسانی
در lockfile به
عنوان مثال:
node python در صورت
مشخص نشدن،
تمام
ابزارهای
پیکربندیشده
و ویژه
وظایف
بهروزرسانی
خواهند شد.SH
"MISE LS" فهرست
کردن
نسخههای
نصبشده و
فعال
ابزارها
این دستور ابزارهایی را فهرست میکند که mise «میشناسد». این ابزارها ممکن است در حال حاضر نصب شده باشند، یا مواردی باشند که در یک فایل پیکربندی قرار دارند (فعال هستند) اما ممکن است نصب شده باشند یا خیر.
دستوری کاربردی برای دریافت وضعیت فعلی ابزارهای شما است.
نحوه استفاده: mise ls [OPTIONS] [<INSTALLED_TOOL>] ...
گزینهها:
- -c, --current
- تنها نسخههای ابزاری را نمایش میدهد که در حال حاضر در یک mise.toml مشخص شدهاند
- -g, --global
- تنها نسخههای ابزاری را نمایش میدهد که در حال حاضر در mise.toml سراسری مشخص شدهاند
- -i, --installed
- تنها نسخههای ابزاری را که نصب شدهاند نمایش میدهد (ابزارهای تعریفشده در mise.toml که نصب نشدهاند را پنهان میکند)
- -J, --json
- خروجی در قالب JSON
- -l, --local
- تنها نسخههای ابزاری را نمایش میدهد که در حال حاضر در mise.toml محلی مشخص شدهاند
- -m, --missing
- نمایش نسخههای ناموجود ابزارها
- -o, --offline
- اطلاعاتی مانند نسخههای قدیمی را واکشی نمیکند
- -p, --plugin <PLUGIN>
- --all-sources
- نمایش همهٔ منابع پیکربندی ردیابیشده برای ابزارها
- --monorepo
- فهرست کردن
ابزارها از
هر ریشهٔ
پیکربندی
[monorepo].config_roots
از MISE_ENV فعال استفاده میکند و به monorepo_root = true بههمراه [monorepo].config_roots صریح در پیکربندی ریشهٔ monorepo نیاز دارد.
- --no-header
- سرآیندها را نمایش نمیدهد
- --outdated
- نمایش اینکه آیا یک نسخه قدیمی است یا خیر
- --prefix <PREFIX>
- نسخههای منطبق با این پیشوند را نمایش میدهد
- --prunable
- تنها ابزارهایی را فهرست میکند که با `mise prune` قابل پاکسازی هستند
- -h, --help
- نمایش راهنما آرگومانها:
- <INSTALLED_TOOL>
- تنها نسخههای ابزار مربوط به [TOOL] را نمایش میدهد
MISE LS-REMOTE
فهرست کردن نسخههای زمان اجرا (runtime) موجود برای نصب.
توجه داشته باشید که ممکن است نتایج کَش شده باشند؛ برای پاک کردن کَش و دریافت نتایج تازه، `mise cache clean` را اجرا کنید.
نحوه استفاده: mise ls-remote [OPTIONS] [<TOOL@VERSION>] [<PREFIX>]
گزینهها:
- --all
- نمایش همهٔ افزونهها و نسخههای نصبشده
- --minimum-release-age <MINIMUM_RELEASE_AGE>
- تنها
نسخههایی
را نمایش
میدهد که
پیش از این
سن یا تاریخ
منتشر
شدهاند
از تاریخهای مطلق مانند "2024-06-01" و مدتزمانهای نسبی مانند "90d" یا "1y" پشتیبانی میکند.
- -J, --json
- خروجی در قالب JSON (شامل فرادادههای نسخه مانند برچسبهای زمانی created_at در صورت موجود بودن)
- --no-versions-host
- بررسی میزبان mise-versions را غیرفعال میکند
- --prerelease
- گنجاندن نسخههای پیشانتشار در خروجی برای بکاندهایی که فرادادههای پیشانتشار بالادست را گزارش میدهند یا تشخیص پیشانتشار مبتنی بر regex را فعال کردهاند. معادل با تنظیم `MISE_PRERELEASES=1` یا تنظیم `prereleases` در طول مدت اجرای این دستور.
- --strict-metadata
- در صورت
شکست در
واکشی
فرادادههای
انتشار، با
خطا مواجه
میشود
نیازمند --json و --no-versions-host است.
این گزینه مانع از آن میشود که مصرفکنندگان فراداده، هنگام شکست درخواست بالادستِ تولیدکنندهٔ فراداده در یک بکاند، نتایج خالی جایگزین (fallback) را بپذیرند.
- -h, --help
- نمایش راهنما آرگومانها:
- <TOOL@VERSION>
- ابزاری که نسخههای آن دریافت میشود
- <PREFIX>
- پیشوند
نسخه برای
استفاده
هنگام
پرسوجوی
آخرین
نسخه؛
همانند بخش
پس از «@» در
آرگومان
اول.SH "MISE MCP"
اجرای
کارساز Model Context Protocol
(MCP)
این دستور یک کارساز MCP را راهاندازی میکند که قابلیتهای mise را از طریق stdin/stdout و با استفاده از پروتکل JSON-RPC در اختیار دستیارهای هوش مصنوعی قرار میدهد.
کارساز MCP دسترسی به موارد زیر را فراهم میکند: - ابزارهای نصبشده و در دسترس - تعاریف و اجرای تسکها - متغیرهای محیطی - اطلاعات پیکربندی - اجرای تسک از طریق ابزار run_task
منابع در دسترس: - mise://tools - فهرست کردن همه ابزارها (از ?include_inactive=true برای گنجاندن ابزارهای غیرفعال استفاده کنید) - mise://tasks - فهرست کردن همه تسکها به همراه پیکربندیهایشان - mise://env - فهرست کردن همه متغیرهای محیطی - mise://config - نمایش فایلهای پیکربندی و ریشه پروژه
ابزارهای در دسترس: - list_commands - تمام دستورات mise، به همراه تأثیر اعلامشده آنها بر سیستم - install_tool - نصب یک ابزار با نگارش اختیاری (هنوز پیادهسازی نشده است) - run_task - اجرای یک تسک mise با آرگومانهای اختیاری
نکته: این قابلیت در درجه اول برای یکپارچهسازی با دستیارهای هوش مصنوعی مانند Claude، Cursor یا سایر ابزارهایی که از Model Context Protocol پشتیبانی میکنند طراحی شده است.
کاربرد: mise mcp [OPTIONS]
گزینهها:
- -h, --help
- نمایش راهنما
MISE OCI
[آزمایشی] ساخت ایمیجهای کانتینر OCI از یک mise.toml
هر ابزار به یک لایه OCI مجزا تبدیل میشود، بنابراین ارتقای هر نگارشِ تکیِ ابزار تنها یک حباب (blob) با آدرسدهی مبتنی بر محتوا را باطل میکند — برخلاف Dockerfile که در آن تغییر یک دستور اولیه `RUN`، تمام لایههای بعدی را باطل میسازد.
این دستور آزمایشی است و به `mise settings experimental=true` (یا `MISE_EXPERIMENTAL=1`) نیاز دارد. رفتار، پرچمها و ساختار خروجی ممکن است در انتشارهای آینده تغییر کنند.
کاربرد: mise oci [OPTIONS] <COMMAND>
گزینهها:
- -h, --help
- نمایش راهنما
MISE OCI BUILD
[آزمایشی] ساخت یک ایمیج OCI از mise.toml کنونی
نگارش هر ابزار به یک لایه OCI مجزا با آدرسدهی مبتنی بر محتوا تبدیل میشود. ارتقای نگارش یک ابزار تنها لایه همان ابزار را باطل میکند — سایر ابزارها، ایمیج پایه و پیکربندی بدون تغییر دوباره استفاده میشوند. دایرکتوری خروجی با مشخصات OCI image-layout مطابقت دارد و میتواند توسط `skopeo`، `crane` یا `podman load` استفاده شود.
نیازمند `mise settings experimental=true` (یا `MISE_EXPERIMENTAL=1`).
کاربرد: mise oci build [OPTIONS]
گزینهها:
- --copy <HOST_PATH:IMAGE_PATH>
- کپی کردن یک فایل، دایرکتوری یا پیوند نمادینِ میزبان به درون ایمیج (قابل تکرار، HOST:IMAGE)
- -o, --output <OUTPUT>
- دایرکتوری خروجی برای چیدمان ایمیج OCI
- --from <FROM>
- مرجع ایمیج پایه (بازنویسی [oci].from و تنظیم oci.default_from)
- --include-global
- گنجاندن
ابزارها از
پیکربندی
سراسری /
سیستمی
(پیشفرض:
فقط پروژه)
بهطور پیشفرض `mise oci build` تنها ابزارهای تعریفشده در پیکربندی mise پروژه (و هرگونه پیکربندی والد در ریشه پروژه یا زیر آن، مانند پیکربندی ریشه monorepo) را بستهبندی میکند. ابزارهای توسعه شخصی در `~/.config/mise/config.toml` مستثنی میشوند تا در ایمیج پروژه تعبیه نشوند. برای بازگشت به رفتار پیشین یعنی «ادغام همه پیکربندیهای بارگذاریشده»، پرچم `--include-global` را ارسال کنید.
- -t, --tag <TAG>
- برچسب برای ثبت در نمایه (index) ایمیج (یادداشت org.opencontainers.image.ref.name)
- --mount-point <MOUNT_POINT>
- محل قرارگیری ابزارهای نصبشده درون ایمیج (پیشفرض: /mise)
- --no-mise
- عدم تعبیه باینری در حال اجرای mise در /usr/local/bin/mise
- --owner <UID[:GID]>
- مقدار UID[:GID]
برای
انتساب به
هر مدخل tar در
لایههای
تولیدشده
تنظیمات [oci].user_id / [oci].group_id را بازنویسی میکند. مقدار پیشفرض 0:0 است. اگر GID حذف شود، بهطور پیشفرض برابر با UID در نظر گرفته میشود. این گزینه تنها بر مالکیت فایل اثر میگذارد؛ مقدار [oci].user دستورالعمل USER در ایمیج را کنترل میکند.
- -h, --help
- نمایش
راهنما.SH "MISE OCI
PUSH" [آزمایشی]
ساخت یک
ایمیج OCI و
ارسال (push) آن
به یک
رجیستری
با کلاینت رجیستری توکار mise ارسال میشود — نیازی به skopeo/crane/docker نیست. اگر `--image-dir` داده نشود، ابتدا یک ساخت تازه بر مبنای mise.toml کنونی انجام میشود. تنها blobهایی که هنوز در رجیستری وجود ندارند بارگذاری میشوند، بنابراین pushهای مکرر برای مجموعهابزارهای عمدتاً بدون تغییر کمهزینه خواهند بود.
لایههای ابزاری که ابزار، نسخه، نقطه اتصال (mount point) و مالک فایل آنها با ایمیج قبلاً ارسالشده (یا `--cache-from`) یکسان باشد، بدون نیاز به ساخت مجدد دوباره استفاده میشوند — این ابزارها حتی نیازی به نصب محلی ندارند. برای اجبار به ساخت کامل محلی، گزینه `--no-cache` را مشخص کنید.
اطلاعات احراز هویت از همان مکانهایی که docker و podman استفاده میکنند خوانده میشود: `$REGISTRY_AUTH_FILE`، `$XDG_RUNTIME_DIR/containers/auth.json`، `~/.config/containers/auth.json` و `~/.docker/config.json` (شامل دستیاران احراز هویت) — بنابراین تنها پیکربندی مورد نیاز، اجرای `docker login` یا `podman login` است.
نیازمند `mise settings experimental=true` (یا `MISE_EXPERIMENTAL=1`) است.
کاربرد: mise oci push [OPTIONS] <REF>
گزینهها:
- --cache-from <REF>
- استفاده
مجدد از
لایههای
ابزار بدون
تغییر از
این ایمیج
بهجای ref
مقصد
باید در همان مخزن مقصد قرار داشته باشد. زمانی مفید است که هر push یک تگ یکتا دریافت کند (مانند تگهای به ازای هر کامیت در CI): `--cache-from ghcr.io/me/dev:latest ghcr.io/me/dev:$SHA`.
- --from <FROM>
- ایمیج پایه برای ساخت (با --image-dir نادیده گرفته میشود)
- --image-dir <IMAGE_DIR>
- ارسال ساختار ایمیج OCI از پیش ساختهشده (صرفنظر کردن از مرحله ساخت)
- --include-global
- شامل کردن
ابزارهای
پیکربندی
سراسری /
سیستمی نیز
میشود
(پیشفرض:
فقط پروژه)
برای جزئیات به `mise oci build --help` مراجعه کنید.
- --mount-point <MOUNT_POINT>
- بازنویسی نقطه اتصال درون ایمیج (با --image-dir نادیده گرفته میشود)
- --no-cache
- عدم استفاده مجدد از لایههای ابزار ایمیج ارسالشده قبلی
- --no-mise
- عدم تعبیه باینری mise (با --image-dir نادیده گرفته میشود)
- --owner <UID[:GID]>
- اختصاص UID[:GID]
به هر ورودی
tar هنگام
ساخت (با --image-dir
تداخل دارد)
تنظیمات [oci].user_id و [oci].group_id را بازنویسی میکند. پیشفرض 0:0 است. اگر GID حذف شود، بهطور پیشفرض به UID تنظیم میشود. این گزینه فقط بر مالکیت فایل اثر میگذارد؛ دستورالعمل USER ایمیج توسط [oci].user کنترل میشود.
- --update-index
- نگهداری تگ
بهصورت یک
نمایه
ایمیج
چندمعماری
(multi-arch image index)
مانیفست این ساخت را بر اساس دایجست (digest) ارسال کرده و تگ را به یک نمایه ایمیج OCI با یک ورودی به ازای هر پلتفرم اشاره میدهد، در حالی که ورودیهای ارسالشده توسط سایر معماریها حفظ میشوند. برای سرهمبندی یک تگ چندمعماری، `mise oci push --update-index` را روی یک اجراکننده (runner) به ازای هر پلتفرم اجرا کنید.
- -h, --help
- نمایش راهنما آرگومانها:
- <REF>
- ارجاع رجیستری مقصد (مانند `ghcr.io/me/devenv:latest`)
MISE OCI RUN
[آزمایشی] ساخت یک ایمیج OCI از mise.toml کنونی و اجرای یک دستور در آن
معادل `mise oci build` و سپس اجرای `docker run` یا `podman run` است. ایمیج ساختهشده در موتور کانتینر محلی بارگذاری میشود (podman ساختار OCI layout را مستقیماً دریافت میکند؛ docker آن را از طریق `docker load` دریافت میکند) و دستور مشخصشده درون آن با به ارث بردن stdin/stdout/stderr اجرا میشود.
نیازمند `mise settings experimental=true` (یا `MISE_EXPERIMENTAL=1`) و یکی از موارد: `podman`، `docker` است.
کاربرد: mise oci run [OPTIONS] [<CMD>] ...
گزینهها:
- --engine <ENGINE>
- موتور کانتینر مورد استفاده (`auto`، `podman` یا `docker`)
- --from <FROM>
- ارجاع ایمیج پایه برای ساخت (با --image-dir نادیده گرفته میشود)
- --image-dir <IMAGE_DIR>
- استفاده از یک ساختار ایمیج OCI از پیش ساختهشده بهجای ساخت جدید
- --include-global
- شامل کردن
ابزارهای
پیکربندی
سراسری /
سیستمی نیز
میشود
(پیشفرض:
فقط پروژه)
برای جزئیات به `mise oci build --help` مراجعه کنید.
- --keep
- نگهداری
ایمیج
بارگذاریشده
در فضای
ذخیرهسازی
موتور پس از
اجرا
بهطور پیشفرض، با خروج دستور، هم کانتینر (`--rm`) و هم ایمیج بارگذاریشده حذف میشوند، بنابراین اجرای مکرر `mise oci run` ایمیجها را در حافظه ذخیرهسازی podman / docker انباشته نمیکند. برای نگهداشتن ایمیج با تگ استفادهشده توسط mise (`mise-oci:run-*` برای docker؛ شناسه ایمیج دریافتشده برای podman) گزینه `--keep` را مشخص کنید.
- --mount-point <MOUNT_POINT>
- بازنویسی نقطه اتصال درون ایمیج (با --image-dir نادیده گرفته میشود)
- --no-mise
- عدم تعبیه باینری mise (با --image-dir نادیده گرفته میشود)
- --owner <UID[:GID]>
- اختصاص UID[:GID]
به هر ورودی
tar هنگام
ساخت (با --image-dir
تداخل دارد)
تنظیمات [oci].user_id و [oci].group_id را بازنویسی میکند. پیشفرض 0:0 است. اگر GID حذف شود، بهطور پیشفرض به UID تنظیم میشود. این گزینه فقط بر مالکیت فایل اثر میگذارد؛ دستورالعمل USER ایمیج توسط [oci].user کنترل میشود.
- --volume <HOST:CONTAINER>
- متصل کردن
(Bind-mount) یک مسیر
میزبان
(تکرارپذیر،
`HOST:CONTAINER[:MODE]`)
نکته: برخلاف `docker run -v`، هیچ پرچم کوتاه `-v` در اینجا وجود ندارد زیرا mise پرچم `-v` را برای --verbose رزرو کرده است. از `--volume` یا `--mount` استفاده کنید.
- -e, --env <KEY=VAL>
- تنظیم متغیر محیطی در کانتینر (تکرارپذیر، `KEY=VAL`)
- -i, --interactive
- اجرای تعاملی (ارسال `-i` به موتور کانتینر)
- -t, --tty
- تخصیص TTY (ارسال `-t` به موتور کانتینر)
- -w, --workdir <WORKDIR>
- دایرکتوری کاری درون کانتینر
- -h, --help
- نمایش راهنما آرگومانها:
- <CMD>
- دستور و
آرگومانها
برای اجرا
درون
کانتینر (پس
از `--`).SH "MISE OUTDATED"
نمایش
نسخههای
قدیمی
ابزارها
برای ارتقای این نسخهها، `mise upgrade` را ببینید.
نحوه استفاده: mise outdated [OPTIONS] [<TOOL@VERSION>] ...
گزینهها:
- -b, --bump
- مقایسه با
جدیدترین
نسخههای
موجود، نه
آنچه با
پیکربندی
فعلی
مطابقت
دارد
برای مثال، اگر در پیکربندی خود `node = "20"` را داشته باشید، بهطور پیشفرض `mise outdated` فقط سایر نسخههای 20.x را نشان میدهد، نه نسخههای 21.x یا 22.x را.
با استفاده از این پرچم، اگر نسخههای 21.x یا جدیدتری وجود داشته باشند، بهجای 20.x نمایش داده خواهند شد.
- -J, --json
- خروجی در قالب JSON
- -l
- کوتاهنوشت منسوخشده برای --bump
- --inactive
- نمایش
ابزارهای
قدیمی از
جمله
ابزارهای
نصبشده
اما
غیرفعالی
که در
پیکربندی
فعلی وجود
ندارند
بهطور پیشفرض، `mise outdated` فقط ابزارهایی را نشان میدهد که از پیکربندی فعلی میآیند.
- --local
- تنها نمایش
ابزارهای
قدیمیِ
تعریفشده
در
فایلهای
پیکربندی
محلی
این گزینه فقط ابزارهایی را نشان میدهد که در mise.toml محلیِ پروژه تعریف شدهاند و از ابزارهای تعریفشده در پیکربندی سراسری (~/.config/mise/config.toml) صرفنظر میکند.
- --monorepo
- نگهدارنده جایگزین برای بررسیهای ابزارهای قدیمی در monorepo در آینده؛ دستور `mise outdated --monorepo` هنوز پیادهسازی نشده است.
- --no-header
- عدم نمایش سربرگ جدول
- -h, --help
- چاپ راهنما آرگومانها:
- <TOOL@VERSION>
- ابزار(ها) برای نمایش نسخههای قدیمی آنها مثال: node@20 python@3.10 در صورت مشخص نشدن، تمام ابزارهای موجود در پیکربندیهای سراسری و محلی نشان داده خواهند شد
MISE PATRONS
نمایش افرادی که در سطح Patron از mise حمایت میکنند
فهرست کردن افراد حاضر در سطح Patron از https://jdx.dev/patrons.json. این فهرست روزانه تازهسازی میشود؛ پایانههای پشتیبانیکننده، نام هر حامی را بهصورت پیوند قابل کلیک از طریق ابرپیوندهای OSC 8 نمایش میدهند.
برای قرار گرفتن در اینجا، در https://jdx.dev/sponsors.html حامی شوید.
نحوه استفاده: mise patrons [OPTIONS]
گزینهها:
- -J, --json
- خروجی در قالب JSON
- --refresh
- دور زدن حافظهٔ پنهان محلی و واکشی مجدد
- -h, --help
- چاپ راهنما
MISE PLUGINS
مدیریت افزونهها
نحوه استفاده: mise plugins [OPTIONS] [COMMAND]
گزینهها:
- -a, --all
- فهرست کردن
تمام
افزونههای
دوردست
(ریموت)
موجود
مشابه با `mise plugins ls-remote`
- -c, --core
- فقط افزونههای توکار معمولاً این افزونهها نشان داده نمیشوند
- -u, --urls
- نمایش نشانی git برای هر افزونه مثال: https://github.com/mise-plugins/vfox-cmake.git
- --refs
- نمایش git refها برای هر افزونه مثال: main 1234abc
- --user
- فهرست کردن
افزونههای
نصبشده
این رفتار پیشفرض است اما میتواند همراه با --core استفاده شود تا هم افزونههای هسته و هم افزونههای کاربر نشان داده شوند
- -h, --help
- چاپ
راهنما.SH "MISE PLUGINS
INSTALL" نصب یک
افزونه
توجه داشته باشید که mise میتواند هنگام نصب یک ابزار، افزونهها را بهطور خودکار نصب کند بهعنوان مثال: `mise install cmake@3.30` افزونه cmake را بهطور خودکار نصب میکند
این رفتار را میتوان در ~/.config/mise/config.toml تغییر داد
نحوه استفاده: mise plugins install [OPTIONS] [<NEW_PLUGIN>] [<GIT_URL>] [<REST>] ...
گزینهها:
- -a, --all
- نصب تمام افزونههای مفقود این گزینه تنها افزونههایی را نصب میکند که نام کوتاه (shorthand) منطبق دارند؛ یعنی نیازی به نشانی کامل مخزن git ندارند
- -f, --force
- نصب مجدد حتی در صورت وجود افزونه
- -j, --jobs <JOBS>
- تعداد کارهای همروند برای اجرا مقادیر کمتر از ۱ معادل ۱ در نظر گرفته میشوند
- -v, --verbose
- نمایش خروجی فرایند نصب
- -h, --help
- چاپ راهنما آرگومانها:
- <NEW_PLUGIN>
- نام افزونه برای نصب بهعنوان مثال: cmake، poetry میتوان چندین افزونه را مشخص کرد: `mise plugins install cmake poetry`
- <GIT_URL>
- نشانی git افزونه
MISE PLUGINS LINK
ایجاد پیوند نمادین (Symlink) برای یک افزونه به درون mise
این دستور برای توسعه یک افزونه به کار میرود.
نحوه استفاده: mise plugins link [OPTIONS] <NAME> [<DIR>]
گزینهها:
- -f, --force
- بازنویسی افزونه موجود
- -h, --help
- چاپ راهنما آرگومانها:
- <NAME>
- نام افزونه بهعنوان مثال: cmake، poetry
- <DIR>
- مسیر محلی افزونه بهعنوان مثال: ./vfox-cmake
MISE PLUGINS LS
فهرست کردن افزونههای نصبشده
همچنین میتواند افزونههای دردسترس از راه دور را برای نصب نمایش دهد.
نحوه استفاده: mise plugins ls [OPTIONS]
گزینهها:
- -a, --all
- فهرست کردن تمام افزونههای دردسترس از راه دور مشابه دستور `mise plugins ls-remote`
- -c, --core
- تنها افزونههای توکار (built-in) در حالت عادی این افزونهها نمایش داده نمیشوند
- -o, --outdated
- نمایش افزونههای دارای بهروزرسانی مخزن دوردست را برای نسخههای جدیدتر بررسی کرده و تنها افزونههای قدیمیشده را نمایش میدهد
- -u, --urls
- نمایش نشانی git برای هر افزونه بهعنوان مثال: https://github.com/mise-plugins/vfox-cmake.git
- --refs
- نمایش ارجاعات git (git refs) برای هر افزونه بهعنوان مثال: main 1234abc
- --user
- فهرست کردن افزونههای نصبشده
- -h, --help
- چاپ
راهنما.SH "MISE PLUGINS
LS-REMOTE"
فهرست کردن تمام افزونههای دوردست دردسترس
فهرست کامل اینجاست: https://github.com/jdx/mise/blob/main/registry
مثالها:
$ mise plugins ls-remote
کاربرد: mise plugins ls-remote [OPTIONS]
گزینهها:
- -u, --urls
- نمایش نشانی git برای هر افزونه، برای نمونه: https://github.com/mise-plugins/mise-poetry.git
- --only-names
- تنها نمایش نام هر افزونه؛ بهطور پیشفرض یک «*» در کنار افزونههای نصبشده نمایش داده میشود
- -h, --help
- نمایش راهنما
MISE PLUGINS UNINSTALL
حذف یک افزونه
کاربرد: mise plugins uninstall [OPTIONS] [<PLUGIN>] ...
گزینهها:
- -a, --all
- حذف تمام افزونهها
- -p, --purge
- همچنین حذف موارد نصبشده، بارگیریها و کَش افزونه
- -h, --help
- نمایش راهنما آرگومانها:
- <PLUGIN>
- افزونه(هایی) برای حذف
MISE PLUGINS UPDATE
بهروزرسانی یک افزونه به آخرین نسخه
نکته: این عمل خودِ افزونه را بهروزرسانی میکند، نه نسخههای زماناجرا (runtime) را
کاربرد: mise plugins update [OPTIONS] [<PLUGIN>] ...
گزینهها:
- -j, --jobs <JOBS>
- تعداد کارها برای اجرای موازی مقادیر کمتر از ۱ برابر ۱ در نظر گرفته میشوند پیشفرض: 4
- -h, --help
- نمایش راهنما آرگومانها:
- <PLUGIN>
- افزونه(هایی) برای بهروزرسانی
MISE DEPS
[آزمایشی] مدیریت وابستگیهای پروژه
اجرای تمام مراحل قابلاعمال نصب وابستگی برای پروژهٔ کنونی. این بررسی میکند که آیا فایلهای قفل وابستگی (lockfiles) از خروجیهای نصبشده جدیدتر هستند یا خیر (مانند package-lock.json در برابر node_modules/) و در صورت نیاز دستورهای نصب را اجرا میکند.
ارائهدهندگانی با `auto = true` بهطور خودکار پیش از `mise x` و `mise run` فراخوانی میشوند مگر اینکه با گزینهٔ --no-deps نادیده گرفته شوند.
کاربرد: mise deps [OPTIONS] [<PROVIDER>] [COMMAND]
گزینهها:
- --explain
- نمایش دلیل تازه (fresh) یا کهنه (stale) بودن یک ارائهدهنده (نیازمند یک آرگومان ارائهدهنده است)
- -f, --force
- اجرای اجباری تمام مراحل وابستگیها حتی اگر خروجیها تازه باشند
- -n, --dry-run
- تنها بررسی اینکه آیا نصب وابستگیها مورد نیاز است یا خیر، بدون اجرای دستورها
- --list
- نمایش ارائهدهندگان وابستگی دردسترس
- --monorepo
- نصب
وابستگیها
از تمام
ریشههای
پیکربندی
[monorepo].config_roots
نیازمند monorepo_root = true بههمراه تعیین صریح [monorepo].config_roots در پیکربندی ریشهٔ monorepo است. ارائهدهندگان با قالبی مانند //apps/api:uv نامگذاری میشوند.
- --only <ONLY>
- تنها اجرای قاعده(های) مشخص وابستگیها
- --skip <SKIP>
- نادیدهگرفتن قاعده(های) مشخص وابستگیها
- -h, --help
- نمایش راهنما آرگومانها:
- <PROVIDER>
- ارائهدهندهای
که باید روی
آن عملیات
انجام شود
(تنها این
ارائهدهنده
را اجرا
میکند، یا
همراه با --explain
استفاده
میشود).SH "MISE DEPS
ADD" افزودن
یک وابستگی
یک یا چند بسته را با استفاده از مدیر بسته مناسب به پروژه اضافه میکند. مشخصات بسته از قالب `ecosystem:package` استفاده میکنند، مانند `npm:react` یا `npm:@types/react@19`.
کاربرد: mise deps add [OPTIONS] <PACKAGES> ...
گزینهها:
- -D, --dev
- افزودن به عنوان یک وابستگی توسعه
- -h, --help
- نمایش راهنما آرگومانها:
- <PACKAGES>
- بسته(هایی) برای افزودن (مانند npm:react یا npm:@types/react@19)
MISE DEPS INSTALL
نصب تمام وابستگیهای پروژه
بررسی میکند که آیا فایلهای قفل وابستگی از خروجیهای نصبشده تازهتر هستند یا خیر و در صورت نیاز، دستورات نصب را اجرا میکند.
کاربرد: mise deps install [OPTIONS] [<PROVIDER>]
گزینهها:
- --explain
- نمایش چرایی تازه یا کهنه بودن یک ارائهدهنده (نیاز به یک آرگومان ارائهدهنده دارد)
- -f, --force
- اجرای اجباری تمام مراحل deps حتی اگر خروجیها تازه باشند
- -n, --dry-run
- تنها بررسی اینکه آیا نصب deps لازم است یا خیر؛ دستورات اجرا نمیشوند
- --list
- نمایش ارائهدهندههای موجود deps
- --monorepo
- نصب
وابستگیها
از هر ریشه
پیکربندی
[monorepo].config_roots
نیازمند monorepo_root = true به همراه [monorepo].config_roots صریح در پیکربندی ریشه monorepo است. ارائهدهندهها به شکلی مانند //apps/api:uv نامگذاری میشوند.
- --only <ONLY>
- تنها اجرای قاعده(های) مشخص deps
- --skip <SKIP>
- نادیده گرفتن قاعده(های) مشخص deps
- -h, --help
- نمایش راهنما آرگومانها:
- <PROVIDER>
- ارائهدهندهای که عملیات روی آن انجام میشود (تنها این ارائهدهنده را اجرا میکند، یا برای استفاده با --explain)
MISE DEPS REMOVE
حذف یک وابستگی
یک یا چند بسته را با استفاده از مدیر بسته مناسب از پروژه حذف میکند. مشخصات بسته از قالب `ecosystem:package` استفاده میکنند، مانند `npm:lodash`.
کاربرد: mise deps remove [OPTIONS] <PACKAGES> ...
گزینهها:
- -h, --help
- نمایش راهنما آرگومانها:
- <PACKAGES>
- بسته(هایی)
برای حذف
(مانند npm:lodash).SH "MISE
PRUNE" حذف
نگارشهای
استفادهنشده
ابزارها
mise بررسی و ردگیری میکند که کدام فایلهای پیکربندی در ~/.local/state/mise/tracked-configs استفاده شدهاند. نگارشهایی که دیگر جدیدترین نگارش مشخصشده در هیچیک از آن فایلهای پیکربندی نیستند، حذف میشوند. نگارشهایی که فقط با متغیرهای محیطی `MISE_<TOOL>_VERSION` نصب شدهاند، و همچنین نگارشهایی که تنها در خط فرمان `mise exec <TOOL>@<VERSION>` به آنها ارجاع داده شده است، حذف خواهند شد.
استابهای (stubs) ابزارهایی که اجرا شدهاند در ~/.local/state/mise/tracked-stubs ردگیری میشوند. نگارشهایی که هنوز توسط یک استاب ردگیریشده به آنها ارجاع داده میشود، حذف نخواهند شد.
میتوانید ابزارهای قابل هرس را با `mise ls --prunable` فهرست کنید.
کاربرد: mise prune [OPTIONS] [<INSTALLED_TOOL>] ...
گزینهها:
- -n, --dry-run
- در عمل چیزی را حذف نمیکند
- --configs
- تنها پیوندهای پیکربندی ردگیریشده و معتبری را که به پیکربندیهای ناموجود اشاره دارند، هرس میکند
- --dry-run-code
- مانند --dry-run
است، اما
اگر ابزاری
برای هرس
وجود داشته
باشد با کد
۱ خارج
میشود
این گزینه برای اسکریپتها جهت بررسی اینکه آیا ابزاری نیاز به هرس دارد یا خیر، مفید است.
- --monorepo
- جاینگهداری برای هرس monorepo در آینده؛ دستور `mise prune --monorepo` هنوز پیادهسازی نشده است.
- --tools
- تنها نگارشهای استفادهنشده ابزارها را هرس میکند
- -h, --help
- نمایش راهنما آرگومانها:
- <INSTALLED_TOOL>
- تنها این ابزارها را هرس میکند
MISE REGISTRY
فهرست کردن ابزارهای در دسترس برای نصب
این دستور ابزارهای موجود در رجیستری را به صورت نامهای مختصر فهرست میکند.
به عنوان مثال، `poetry` نام مختصری برای `asdf:mise-plugins/mise-poetry` است.
کاربرد: mise registry [OPTIONS] [<NAME>]
گزینهها:
- -b, --backend <BACKEND>
- تنها ابزارهای مربوط به این backend را نمایش میدهد
- --complete
- چاپ تمام ابزارها به همراه توضیحات برای تکمیل خودکار پوسته (shell completions)
- --hide-aliased
- پنهان کردن ابزارهای دارای نام مستعار (aliased)
- -J, --json
- خروجی در قالب JSON
- --security
- ویژگیهای
امنیتی
backendهای هر
ابزار را در
خروجی JSON
میگنجاند.
نیازمند --json است. اطلاعات امنیتی در تمام backendهای یک ابزار یکسانسازی شده و موارد تکراری حذف میشوند. این مورد میتواند برای فهرستهای بزرگ زمان قابلتوجهی صرف کند، زیرا اطلاعات امنیتی هر backend بهصورت جداگانه دریافت میشود.
- -h, --help
- نمایش راهنما آرگومانها:
- <NAME>
- تنها نام کامل ابزار مشخصشده را نشان میدهد
MISE RESHIM
بر اساس مسیرهای bin از ابزارهای نصبشده فعلی، شیمهای (shims) جدید ایجاد میکند.
این دستور در دایرکتوری shim پیکربندیشده برای کاربر، شیمهای جدیدی برای CLIهایی که اضافه شدهاند ایجاد میکند. با `--system`، در عوض ساختار شیمهای سیستمی پیکربندیشده (system shim farm) را بازسازی میکند. mise تلاش میکند این کار را برای دستورهایی مانند `npm i -g` بهطور خودکار انجام دهد، اما راههای دیگری برای نصب وجود دارد (مانند استفاده از yarn یا pnpm برای node) که mise از آنها اطلاعی ندارد و بنابراین فراخوانی صریح این دستور لازم خواهد بود.
اگر فکر میکنید mise باید این دستور را برای یک دستور خاص بهطور خودکار فراخوانی کند، لطفاً یک issue در مخزن mise ثبت کنید. همچنین میتوانید یک تابع پوسته برای اجرای خودکار reshim تنظیم کنید (این عملیات بسیار سریع است بنابراین نیازی نیست نگران بار پردازشی آن باشید):
npm() {
command npm "$@"
mise reshim
}
توجه داشته باشید که این دستور برای _تمام_ ابزارهای نصبشده شیم ایجاد میکند، نه فقط مواردی که در حال حاضر در mise.toml فعال هستند.
کاربرد: mise reshim [OPTIONS] [<TOOL>] [<VERSION>]
گزینهها:
- -f, --force
- تمام شیمهای متعلق به mise را بازسازی میکند
- --system
- بازسازی ساختار شیمهای سیستمی (system shim farm)
- -h, --help
- نمایش
راهنما.SH "MISE RUN"
اجرای
تسک(ها)
این دستور یک تسک یا چندین تسک را بهصورت موازی اجرا میکند. تسکها ممکن است به تسکهای دیگر یا به فایلهای منبع وابسته باشند. اگر منبع (source) برای یک تسک پیکربندی شده باشد، تسک تنها در صورتی اجرا میشود که فایلهای منبع تغییر کرده باشند.
تسکها را میتوان در mise.toml یا بهصورت اسکریپتهای مستقل تعریف کرد. در mise.toml، تسکها به این شکل تعریف میشوند:
[tasks.build]
run = "npm run build"
sources = ["src/**/*.ts"]
outputs = ["dist/**/*.js"]روش دیگر این است که تسکها بهصورت اسکریپتهای مستقل تعریف شوند. این اسکریپتها باید در `mise-tasks`، `.mise-tasks`، `.mise/tasks`، `mise/tasks` یا `.config/mise/tasks` قرار گیرند. نام اسکریپت، همان نام تسک خواهد بود.
$ cat .mise/tasks/build<<EOF
#!/usr/bin/env bash
npm run build
EOF
$ mise run build
نحوه استفاده: mise run [OPTIONS]
گزینهها:
- --affected
- اجرای تسکهای منطبق فقط برای پروژههای متأثر از تغییرات Git
- --affected-base <REV>
- بازنگری (revision) پایه در Git برای --affected پیشفرض: MISE_AFFECTED_BASE، فراداده CI یا HEAD~1
- --affected-explain
- توضیح اینکه چرا پروژهها و تسکها توسط --affected انتخاب شدهاند
- --affected-head <REV>
- بازنگری سر (head) در Git برای --affected پیشفرض: MISE_AFFECTED_HEAD، فراداده CI یا HEAD
- --affected-json
- نمایش پروژهها و تسکهای متأثر در قالب JSON بدون اجرای تسکها
- --all
- باز کردن انتخابگر تعاملی با تمام تسکهای کل مونوریپو (monorepo)
- -c, --continue-on-error
- ادامه اجرای تسکها حتی در صورت شکست خوردن یکی از آنها
- -C, --cd <CD>
- تغییر به این دایرکتوری پیش از اجرای دستور
- -f, --force
- اجبار تسکها به اجرا حتی اگر خروجیها بهروز باشند
- -j, --jobs <JOBS>
- تعداد تسکها برای اجرای همزمان (موازی) مقادیر کمتر از ۱ بهصورت ۱ در نظر گرفته میشوند [پیشفرض: 4] پیکربندی از طریق تنظیم `jobs` یا متغیر محیطی `MISE_JOBS`
- -n, --dry-run
- عدم اجرای واقعی تسک(ها)، صرفاً چاپ آنها به ترتیب اجرا
- -o, --output <OUTPUT>
- تغییر نحوه
نمایش
خروجی
اطلاعات
هنگام
اجرای
تسکها
- `prefix` - چاپ خطبهخط stdout/stderr با پیشوند برچسب تسک - `interleave` - چاپ مستقیم روی stdout/stderr بهجای چاپ خطبهخط - `replacing` - مقدار stdout هر بار جایگزین میشود، stderr همانطور که هست چاپ میشود - `timed` - خطوط stdout تنها در صورتی نمایش داده میشوند که بیش از ۱ ثانیه نمایش یابند - `keep-order` - چاپ خطبهخط stdout/stderr با پیشوند برچسب تسک، با حفظ ترتیب خروجی - `quiet` - عدم نمایش خروجیهای اضافی - `silent` - عدم نمایش هیچ خروجی از جمله stdout و stderr تسک بهجز خطاها
- -q, --quiet
- عدم نمایش خروجیهای اضافی
- -r, --raw
- خواندن/نوشتن مستقیم روی stdin/stdout/stderr بهجای خطبهخط با این گزینه، سانسورها/پنهانسازیها اعمال نمیشوند پیکربندی از طریق تنظیم `raw` یا متغیر محیطی `MISE_RAW`
- -s, --shell <SHELL>
- پوستهای (shell)
که برای
اجرای
تسکهای toml
استفاده
میشود
پیشفرض در یونیکس `sh -c -o errexit -o pipefail`، و در ویندوز `cmd /c` است همچنین میتواند با تنظیم `MISE_UNIX_DEFAULT_INLINE_SHELL_ARGS` یا `MISE_WINDOWS_DEFAULT_INLINE_SHELL_ARGS` تعیین شود یا با ویژگی `shell` روی یک تسک بازنویسی شود.
- -S, --silent
- عدم نمایش هیچگونه خروجی بهجز خطاها
- -t, --tool <TOOL@VERSION>
- ابزار(هایی) که علاوه بر موارد موجود در فایلهای mise.toml باید اجرا شوند، مانند: node@20 python@3.10
- --allow-env <VAR>
- اجازه عبور به متغیر محیطی خاص (به معنی اعمال --deny-env برای سایر متغیرها) پشتیبانی از الگوهای عامهنما (wildcards)، مانند: --allow-env='MYAPP_*'
- --allow-net <HOST>
- اجازه دسترسی به شبکه برای میزبان خاص (به معنی اعمال --deny-net برای سایر موارد)
- --allow-read <PATH>
- اجازه خواندن از مسیر خاص (به معنی اعمال --deny-read برای سایر مسیرها)
- --allow-write <PATH>
- اجازه نوشتن در مسیر خاص (به معنی اعمال --deny-write برای سایر مسیرها)
- --deny-all
- مسدود کردن خواندن، نوشتن، شبکه و متغیرهای محیطی
- --deny-env
- مسدود کردن توارث متغیرهای محیطی (تنها PATH، HOME، USER، SHELL، TERM و LANG عبور میکنند)
- --deny-net
- مسدود کردن تمام دسترسیهای شبکه
- --deny-read
- مسدود کردن خواندن از فایلسیستم (کتابخانههای سیستم و دایرکتوریهای ابزار همچنان در دسترس خواهند بود)
- --deny-write
- مسدود کردن تمام نوشتنها روی فایلسیستم
- --fresh-env
- نادیده گرفتن حافظه موقت (کش) محیط و محاسبه مجدد متغیرهای محیطی
- --no-cache
- عدم استفاده از کش برای تسکهای راه دور
- --no-deps
- صرفنظر کردن از آمادهسازی خودکار وابستگیها
- --no-timings
- پنهان کردن
زمان
سپریشده
پس از اتمام
هر تسک
بهطور پیشفرض با `MISE_TASK_TIMINGS=0` همیشه پنهان میشود
- --skip-deps
- اجرای تنها تسکهای مشخصشده با صرفنظر از تمامی وابستگیها
- --skip-tools
- صرفنظر
کردن از نصب
ابزارها
پیش از
اجرای
تسکها
همچنین میتواند بهطور دائمی با تنظیم `task.run_auto_install` یا متغیر محیطی `MISE_TASK_RUN_AUTO_INSTALL=false` تعیین شود
- --task-cache <TASK_CACHE>
- تنظیم نحوه
دسترسی به
کش خروجی
تسک برای
این اجرا
- `read-write` - خواندن نتایج کششده و نوشتن نتایج جدید - `read-only` - خواندن نتایج کششده بدون نوشتن نتایج جدید - `write-only` - نوشتن نتایج جدید بدون خواندن نتایج کششده - `off` - غیرفعال کردن کش خروجی تسک - `local-only` - فقط خواندن و نوشتن در کش محلی؛ در حال حاضر معادل با `read-write`
- --task-cache-explain-json
- نمایش جزئیات ورودی کلید کَش در قالب JSON Lines بدون اجرای تسکها
- --task-cache-stats
- گزارش موارد اصابت به کَش خروجی تسک (cache hits)، بایتهای بازیابیشده و زمان صرفهجوییشده
- --timeout <TIMEOUT>
- مهلت زمانی برای تکمیل تسک برای نمونه: 30s ،5m
- --timings
- نمایش زمان
سپریشده
پس از اتمام
هر تسک
بهطور پیشفرض با `MISE_TASK_TIMINGS=1` همیشه نمایش داده میشود
MISE SEARCH
جستجوی ابزارها در رجیستری
این دستور یک ابزار را در رجیستری جستجو میکند.
بهطور پیشفرض، تمام ابزارهایی که با عبارت مورد نظر تطابق تقریبی (fuzzy) دارند نمایش داده میشوند. برای تطابقهای غیرتقریبی، از پرچم `--match-type` استفاده کنید.
کاربرد: mise search [OPTIONS] [<NAME>]
گزینهها:
- -i, --interactive
- نمایش جستجوی تعاملی
- -m, --match-type <MATCH_TYPE>
- نوع تطابق: equal ،contains یا fuzzy
- --no-header
- عدم نمایش سرآیندها
- -h, --help
- نمایش راهنما آرگومانها:
- <NAME>
- ابزار مورد نظر برای جستجو
MISE SELF-UPDATE
خود mise را بهروزرسانی میکند.
برای یافتن آخرین نگارش منتشرشده و باینری از GitHub Releases API استفاده میکند. بهطور پیشفرض، این دستور افزونههای نصبشده را نیز بهروزرسانی خواهد کرد. برای درخواستهای احرازهویتشده از زنجیره تفکیک توکن GitHub در mise استفاده میکند.
بستهسازان میتوانند این دستور را غیرفعال کنند تا mise در عوض از طریق مدیر بستهها بهروزرسانی شود. ببینید: https://mise.jdx.dev/contributing.html#packaging-and-self-update-instructions
کاربرد: mise self-update [OPTIONS] [<VERSION>]
گزینهها:
- -f, --force
- بهروزرسانی حتی در صورت بهروز بودن
- -y, --yes
- صرفنظر از اعلان تأیید
- --no-plugins
- غیرفعالسازی بهروزرسانی خودکار افزونهها
- -h, --help
- نمایش راهنما آرگومانها:
- <VERSION>
- بهروزرسانی
به یک نسخه
مشخص.SH "MISE SET"
تنظیم
متغیرهای
محیط در mise.toml
بهطور پیشفرض، این دستور فایل `mise.toml` را در دایرکتوری جاری تغییر میدهد. اگر چندین فایل پیکربندی وجود داشته باشد (برای مثال، هر دو فایل `mise.toml` و `mise.local.toml`)، فایلی با کمترین اولویت (`mise.toml`) استفاده خواهد شد. ببینید: https://mise.jdx.dev/configuration.html#target-file-for-write-operations
از `-E <env>` برای ایجاد یا تغییر فایلهای پیکربندی مختص به محیط مانند `mise.<env>.toml` استفاده کنید.
نحوه استفاده: mise set [OPTIONS] [<ENV_VAR>] ...
گزینهها:
- -E, --env <ENV>
- ایجاد یا تغییر یک فایل پیکربندی مختص به محیط مانند .mise.<env>.toml
- -g, --global
- تنظیم متغیر محیط در فایل پیکربندی سراسری
- --age-encrypt
- [آزمایشی] رمزنگاری مقدار با age پیش از ذخیرهسازی
- --age-key-file <PATH>
- [آزمایشی]
فایل شناسه
age برای
رمزنگاری
در صورت وجود، پیشفرض ~/.config/mise/age.txt است
- --age-recipient <RECIPIENT>
- [آزمایشی]
گیرنده age
(کلید عمومی
x25519) برای
رمزنگاری
میتواند چندین بار استفاده شود. به --age-encrypt نیاز دارد.
- --age-ssh-recipient <PATH_OR_PUBKEY>
- [آزمایشی]
گیرنده SSH
(کلید عمومی
یا مسیر)
برای
رمزنگاری age
میتواند چندین بار استفاده شود. به --age-encrypt نیاز دارد.
- --complete
- ارائه کاملسازیها
- --file, --path <FILE>
- فایل TOML برای
بهروزرسانی
میتواند مسیر یک فایل یا دایرکتوری باشد. اگر دایرکتوری مشخص شود، mise.toml در آن دایرکتوری ایجاد یا استفاده خواهد شد. پیشفرض متغیر محیط [`MISE_DEFAULT_CONFIG_FILENAME`](https://mise.jdx.dev/configuration.html#mise_default_config_filename) یا `mise.toml` است. از [`MISE_GLOBAL_CONFIG_FILE`](https://mise.jdx.dev/configuration.html#mise_global_config_file) برای انتخاب مسیر متفاوتی برای پیکربندی سراسری استفاده کنید.
- --no-redact
- نمایش مقادیر خام بهجای سانسور کردن اسرار
- --prompt
- درخواست تعاملی برای دریافت مقادیر متغیرهای محیط
- --remove, --rm, --unset <ENV_KEY>
- حذف متغیر
محیط از
فایل
پیکربندی
میتواند چندین بار استفاده شود.
- --stdin
- خواندن
مقدار از stdin
(برای
ورودیهای
چندخطی)
هنگام استفاده از --stdin، یک کلید منفرد بدون مقدار ارائه دهید. مقدار تا رسیدن به EOF از stdin خوانده خواهد شد.
- -h, --help
- چاپ راهنما آرگومانها:
- <ENV_VAR>
- متغیر(های) محیط برای تنظیم برای مثال: NODE_ENV=production
MISE SETTINGS
مدیریت تنظیمات
نحوه استفاده: mise settings [OPTIONS] [<SETTING>] [<VALUE>] [COMMAND]
گزینهها:
- -a, --all
- فهرست کردن تمام تنظیمات
- -J, --json
- خروجی در قالب JSON
- -l, --local
- استفاده از فایل پیکربندی محلی بهجای فایل سراسری
- -T, --toml
- خروجی در قالب TOML
- --complete
- چاپ تمامی تنظیمات به همراه توضیحات برای کاملسازیهای پوسته
- --json-extended
- خروجی در قالب JSON به همراه منابع
- -h, --help
- چاپ راهنما آرگومانها:
- <SETTING>
- نام تنظیم
- <VALUE>
- مقدار
تنظیم برای
اعمال.SH "MISE SETTINGS ADD"
یک تنظیم را
به فایل
پیکربندی
اضافه
میکند
در صورت استفاده برای یک تنظیم آرایهای، این دستور مقدار را به آرایه الحاق میکند. این دستور محتویات ~/.config/mise/config.toml را تغییر میدهد.
نحوه استفاده: mise settings add [OPTIONS] <SETTING> [<VALUE>]
گزینهها:
- -l, --local
- استفاده از فایل پیکربندی محلی به جای فایل سراسری
- -h, --help
- نمایش راهنما آرگومانها:
- <SETTING>
- تنظیمی که باید مقداردهی شود
- <VALUE>
- مقداری که باید تنظیم شود (در صورت ارائه به صورت KEY=VALUE اختیاری است)
MISE SETTINGS GET
نمایش یک تنظیم فعلی
این دستور محتوای یک مدخل واحد در ~/.config/mise/config.toml را نشان میدهد
توجه داشته باشید که نامهای مستعار نیز در این فایل ذخیره میشوند اما بهطور جداگانه با `mise tool-alias get` مدیریت میشوند
نحوه استفاده: mise settings get [OPTIONS] <SETTING>
گزینهها:
- -l, --local
- استفاده از فایل پیکربندی محلی به جای فایل سراسری
- -h, --help
- نمایش راهنما آرگومانها:
- <SETTING>
- تنظیمی که باید نمایش داده شود
MISE SETTINGS LS
نمایش تنظیمات فعلی
این دستور محتویات ~/.config/mise/config.toml را نشان میدهد
توجه داشته باشید که نامهای مستعار نیز در این فایل ذخیره میشوند اما بهطور جداگانه با `mise tool-alias` مدیریت میشوند
نحوه استفاده: mise settings ls [OPTIONS] [<SETTING>]
گزینهها:
- -a, --all
- فهرست کردن تمام تنظیمات
- -J, --json
- ارائه خروجی در قالب JSON
- -l, --local
- استفاده از فایل پیکربندی محلی به جای فایل سراسری
- -T, --toml
- ارائه خروجی در قالب TOML
- --complete
- چاپ تمام تنظیمات به همراه توضیحات برای تکمیل خودکار پوسته (shell completions)
- --json-extended
- ارائه خروجی در قالب JSON به همراه منبعها
- -h, --help
- نمایش راهنما آرگومانها:
- <SETTING>
- نام تنظیم.SH
"MISE SETTINGS SET"
افزودن یا
بهروزرسانی
یک تنظیم
این دستور بهطور پیشفرض محتویات ~/.config/mise/config.toml را تغییر میدهد. با `--local`، به جای آن فایل پیکربندی محلی را تغییر میدهد. مشاهده کنید: https://mise.jdx.dev/configuration.html#target-file-for-write-operations
نحوه استفاده: mise settings set [OPTIONS] <SETTING> [<VALUE>]
گزینهها:
- -l, --local
- استفاده از فایل پیکربندی محلی به جای فایل سراسری
- -h, --help
- نمایش راهنما آرگومانها:
- <SETTING>
- تنظیمی که باید مقداردهی شود
- <VALUE>
- مقداری که باید تنظیم شود (در صورتی که بهصورت KEY=VALUE ارائه شود اختیاری است)
MISE SETTINGS UNSET
پاک کردن یک تنظیم
این دستور محتویات ~/.config/mise/config.toml را تغییر میدهد
نحوه استفاده: mise settings unset [OPTIONS] <KEY>
گزینهها:
- -l, --local
- استفاده از فایل پیکربندی محلی به جای فایل سراسری
- -h, --help
- نمایش راهنما آرگومانها:
- <KEY>
- تنظیمی که باید حذف شود
MISE SHELL
تنظیم نسخه یک ابزار برای نشست فعلی.
تنها در نشستی کار میکند که mise از قبل در آن فعال شده باشد.
این کار با تنظیم متغیرهای محیطی برای نشست فعلی شل کار میکند؛ مانند `MISE_NODE_VERSION=20` که در تابع شلِ ایجادشده توسط `mise activate` ارزیابی (eval) میشود.
نحوه استفاده: mise shell [OPTIONS] <TOOL@VERSION> ...
گزینهها:
- -j, --jobs <JOBS>
- تعداد کارهای همزمان برای اجرا بهصورت موازی مقادیر کمتر از ۱ به عنوان ۱ در نظر گرفته میشوند [پیشفرض: 4]
- -u, --unset
- حذف نسخهای که قبلاً تنظیم شده است
- --raw
- اتصال مستقیم stdin/stdout/stderr دستور نصب backend به ترمینال؛ مستلزم --jobs=1 است
- -h, --help
- نمایش راهنما آرگومانها:
- <TOOL@VERSION>
- ابزار(ها) برای استفاده
MISE SHELL-ALIAS
مدیریت نامهای مستعار (alias) شل.
نحوه استفاده: mise shell-alias [OPTIONS] [COMMAND]
گزینهها:
- --no-header
- عدم نمایش سربرگ جدول
- -h, --help
- نمایش راهنما.SH "MISE SHELL-ALIAS GET" نمایش دستور مربوط به یک نام مستعار پوسته
کاربرد: mise shell-alias get [OPTIONS] <shell_alias>
گزینهها:
- -h, --help
- چاپ راهنما آرگومانها:
- <shell_alias>
- نام مستعاری که باید نمایش داده شود
MISE SHELL-ALIAS LS
فهرست کردن نامهای مستعار پوسته
نامهای مستعار پوستهای را که در دایرکتوری جاری تنظیم شدهاند نمایش میدهد. این موارد در `mise.toml` زیر بخش `[shell_alias]` تعریف میشوند.
کاربرد: mise shell-alias ls [OPTIONS]
گزینهها:
- --no-header
- عدم نمایش سرستون جدول
- -h, --help
- چاپ راهنما
MISE SHELL-ALIAS SET
افزودن/بهروزرسانی یک نام مستعار پوسته
این دستور محتویات ~/.config/mise/config.toml را تغییر میدهد.
کاربرد: mise shell-alias set [OPTIONS] <shell_alias> [<COMMAND>]
گزینهها:
- -h, --help
- چاپ راهنما آرگومانها:
- <shell_alias>
- نام مستعار
- <COMMAND>
- دستوری که باید اجرا شود (در صورتی که به شکل ALIAS=COMMAND ارائه شود اختیاری است)
MISE SHELL-ALIAS UNSET
حذف یک نام مستعار پوسته
این دستور محتویات ~/.config/mise/config.toml را تغییر میدهد.
کاربرد: mise shell-alias unset [OPTIONS] <shell_alias>
گزینهها:
- -h, --help
- چاپ راهنما آرگومانها:
- <shell_alias>
- نام مستعاری که باید حذف شود
MISE SPONSORS
نمایش شرکتهای حامی مالی mise و ابزارهای متنباز jdx.dev
کاربرد: mise sponsors [OPTIONS]
گزینهها:
- -h, --help
- چاپ راهنما
MISE SYNC
همگامسازی ابزارها از سایر مدیرهای نسخه با mise
کاربرد: mise sync [OPTIONS] <COMMAND>
گزینهها:
- -h, --help
- چاپ
راهنما.SH "MISE SYNC
NODE" ایجاد
پیوند
نمادین (symlink)
از تمام
نسخههای
ابزار
موجود در یک
ابزار
خارجی به
داخل mise
برای نمونه، از این دستور برای وارد کردن تمام نسخههای نصبشده node از طریق Homebrew به mise استفاده کنید
این دستور، موارد نصبشده مدیریتشده، نامهای مستعار زمان اجرا (runtime aliases) یا پیوندهای سایر ارائهدهندگان را بازنویسی نخواهد کرد.
نحوه استفاده: mise sync node [OPTIONS]
گزینهها:
- --brew
- دریافت نسخههای ابزار از Homebrew
- --nodenv
- دریافت نسخههای ابزار از nodenv
- --nvm
- دریافت نسخههای ابزار از nvm
- -h, --help
- نمایش راهنما
MISE SYNC PYTHON
ایجاد پیوند نمادین (symlink) از تمام نسخههای ابزار موجود در یک ابزار خارجی به داخل mise
برای نمونه، از این دستور برای وارد کردن تمام نسخههای نصبشده pyenv به mise استفاده کنید
این دستور، موارد نصبشده مدیریتشده، نامهای مستعار زمان اجرا (runtime aliases) یا پیوندهای سایر ارائهدهندگان را بازنویسی نخواهد کرد.
نحوه استفاده: mise sync python [OPTIONS]
گزینهها:
- --pyenv
- دریافت نسخههای ابزار از pyenv
- --uv
- همگامسازی نسخههای ابزار با uv (همگامسازی دوطرفه)
- -h, --help
- نمایش راهنما
MISE SYNC RUBY
ایجاد پیوند نمادین (symlink) از تمام نسخههای ابزار ruby از یک ابزار خارجی به داخل mise
نحوه استفاده: mise sync ruby [OPTIONS]
گزینهها:
- --brew
- دریافت نسخههای ابزار از Homebrew
- -h, --help
- نمایش راهنما
MISE TASKS
مدیریت وظایف
نحوه استفاده: mise tasks [OPTIONS] [<TASK>] [COMMAND]
گزینهها:
- -g, --global
- فقط نمایش وظایف سراسری (global)
- -J, --json
- خروجی در قالب JSON
- -l, --local
- فقط نمایش وظایف غیرسراسری (محلی)
- -x, --extended
- نمایش تمام ستونها
- --all
- بارگذاری تمام وظایف از کل monorepo، از جمله دایرکتوریهای همسطح (sibling). بهطور پیشفرض، تنها وظایف مربوط به سلسلهمراتب دایرکتوری جاری بارگذاری میشوند.
- --complete
- نمایش وظایف جهت تکمیل خودکار دستورات (completion)
- نمایش وظایف پنهان
- --name-only
- تنها نمایش نام وظایف، یک مورد در هر خط. مناسب برای ارسال از طریق لوله (pipe) به fzf و ابزارهای مشابه.
- --no-header
- عدم چاپ سربرگ جدول
- --sort <COLUMN>
- مرتبسازی بر اساس ستون. پیشفرض name است.
- --sort-order <SORT_ORDER>
- ترتیب مرتبسازی. پیشفرض asc است.
- --usage
- -h, --help
- نمایش راهنما آرگومانها:
- <TASK>
- نام وظیفه
برای
دریافت
اطلاعات
آن.SH "MISE TASKS ADD"
ایجاد یک
وظیفه جدید
یک وظیفه را به فایل محلی mise.toml اضافه میکند. ببینید: https://mise.jdx.dev/configuration.html#target-file-for-write-operations
نحوه استفاده: mise tasks add [OPTIONS] <TASK> [<RUN>] ...
گزینهها:
- -a, --alias <ALIAS>
- نامهای دیگر برای وظیفه
- -d, --depends <DEPENDS>
- افزودن وابستگیها به این وظیفه
- -D, --dir <DIR>
- اجرای وظیفه در یک دایرکتوری مشخص
- -f, --file
- ایجاد یک وظیفه بر پایه فایل بهجای وظیفه toml
- -H, --hide
- مخفی کردن وظیفه از `mise tasks` و تکمیل خودکار (completions)
- -q, --quiet
- عدم چاپ دستور پیش از اجرا
- -r, --raw
- اتصال مستقیم stdin/stdout/stderr
- -s, --sources <SOURCES>
- الگوهای سراسری (glob) فایلهایی که این وظیفه به عنوان ورودی استفاده میکند
- -w, --wait-for <WAIT_FOR>
- انتظار برای تکمیل این وظایف در صورتی که قرار است اجرا شوند
- --depends-post <DEPENDS_POST>
- وابستگیهایی که پس از اجرای این وظیفه اجرا میشوند
- --description <DESCRIPTION>
- توضیحات وظیفه
- --outputs <OUTPUTS>
- الگوهای سراسری (glob) فایلهایی که این وظیفه میسازد، برای صرفنظر کردن در صورت تغییر نیافتن آنها
- --run-windows <RUN_WINDOWS>
- دستور برای اجرا در ویندوز
- --shell <SHELL>
- اجرای وظیفه در یک پوسته مشخص
- --silent
- عدم چاپ دستور یا خروجی آن
- -h, --help
- نمایش راهنما آرگومانها:
- <TASK>
- نام وظیفه برای افزودن
MISE TASKS DEPS
نمایش ساختار درختی از گراف وابستگیها
این گراف از روی وابستگیهای اعلامشده ساخته میشود: `depends`، `depends_post` و `wait_for`. ارجاعات وظیفه درون آرایه `run` یا `run_windows` (`{ task = "..." }` یا `{ tasks = [...] }`) مراحل اجرایی هستند نه یالهای گراف، بنابراین در اینجا نمایش داده نمیشوند. آن وظایف تودرتو همچنان اجرا میشوند، از جمله `depends`های خودشان.
نحوه استفاده: mise tasks deps [OPTIONS] [<TASKS>] ...
گزینهها:
- --compact
- جمعکردن وابستگیهای تکراری پس از اولین رخداد آنها
- --dot
- نمایش وابستگیها در قالب DOT
- نمایش وظایف مخفی
- -h, --help
- نمایش راهنما آرگومانها:
- <TASKS>
- وظایفی که
وابستگیهای
آنها
نمایش داده
میشود
میتوان
چندین
وظیفه را با
جدا کردن
توسط فاصله
مشخص کرد
مثال: mise tasks deps lint test check.SH
"MISE TASKS EDIT"
ویرایش یک
تسک با $EDITOR
اگر تسک از قبل وجود نداشته باشد، به صورت یک اسکریپت مستقل ایجاد خواهد شد.
نحوه استفاده: mise tasks edit [OPTIONS] <TASK>
گزینهها:
- -p, --path
- نمایش مسیر تسک به جای ویرایش آن
- -h, --help
- نمایش راهنما آرگومانها:
- <TASK>
- تسک مورد نظر برای ویرایش
MISE TASKS GRAPH
[آزمایشی] بررسی گراف پروژههای فضای کاری (workspace)
نحوه استفاده: mise tasks graph [OPTIONS]
گزینهها:
- -J, --json
- خروجی گرفتن از گراف پروژه در قالب JSON
- --explain
- توضیح انتساب ارائهدهنده (provider) برای پروژهها و تسکهای استنتاجشده
- --no-header
- عدم چاپ سرستونهای جدول
- -h, --help
- نمایش راهنما
MISE TASKS INFO
دریافت اطلاعات درباره یک تسک
نحوه استفاده: mise tasks info [OPTIONS] <TASK>
گزینهها:
- -J, --json
- خروجی در قالب JSON
- -h, --help
- نمایش راهنما آرگومانها:
- <TASK>
- نام تسک برای دریافت اطلاعات درباره آن
MISE TASKS LS
فهرست کردن تسکهای در دسترس برای اجرا این تسکها ممکن است از فایل پیکربندی یا از دایرکتوری .mise/tasks پروژه گنجانده شده باشند دستور mise تمام تسکها را از تمامی دایرکتوریهای والد در این فهرست ادغام میکند.
بنابراین اگر تسکهای سراسری در `~/.config/mise/tasks/*` و تسکهای اختصاصی پروژه در ~/myproject/.mise/tasks/* داشته باشید، هر دوی آنها در دسترس خواهند بود؛ اما تسکهای اختصاصی پروژه در صورت همنام بودن بر تسکهای سراسری اولویت داشته و جایگزین آنها میشوند.
نحوه استفاده: mise tasks ls [OPTIONS]
گزینهها:
- -g, --global
- فقط نمایش تسکهای سراسری
- -J, --json
- خروجی در قالب JSON
- -l, --local
- فقط نمایش تسکهای غیرسراسری
- -x, --extended
- نمایش تمام ستونها
- --all
- بارگذاری تمام تسکها از کل monorepo، از جمله دایرکتوریهای همسطح (sibling). بهطور پیشفرض، تنها تسکهای سلسلهمراتب دایرکتوری فعلی بارگذاری میشوند.
- --complete
- نمایش تسکها برای تکمیل خودکار (completion)
- نمایش تسکهای پنهان
- --name-only
- فقط نمایش نام تسکها، در هر سطر یک مورد. مناسب برای هدایت (pipe) خروجی به fzf و ابزارهای مشابه.
- --no-header
- عدم چاپ سرستون جدول
- --sort <COLUMN>
- مرتبسازی بر اساس ستون. پیشفرض name است.
- --sort-order <SORT_ORDER>
- ترتیب مرتبسازی. پیشفرض asc است.
- --usage
- -h, --help
- نمایش
راهنما.SH "MISE TASKS
RUN" اجرای
وظیفه(ها)
این دستور یک وظیفه، یا چندین وظیفه را بهصورت موازی اجرا میکند. وظایف ممکن است به وظایف دیگر یا به فایلهای منبع وابسته باشند. اگر منبع (source) برای یک وظیفه پیکربندی شده باشد، تنها زمانی اجرا خواهد شد که فایلهای منبع تغییر کرده باشند.
وظایف میتوانند در mise.toml یا بهصورت اسکریپتهای مستقل تعریف شوند. در mise.toml، وظایف به این شکل تعریف میشوند:
[tasks.build]
run = "npm run build"
sources = ["src/**/*.ts"]
outputs = ["dist/**/*.js"]همچنین وظایف میتوانند بهصورت اسکریپتهای مستقل تعریف شوند. این اسکریپتها باید در `mise-tasks`، `.mise-tasks`، `.mise/tasks`، `mise/tasks` یا `.config/mise/tasks` قرار داشته باشند. نام اسکریپت، همان نام وظیفه خواهد بود.
$ cat .mise/tasks/build<<EOF
#!/usr/bin/env bash
npm run build
EOF
$ mise run build
نحوه استفاده: mise tasks run [OPTIONS]
گزینهها:
- --affected
- اجرای وظایف منطبق، تنها برای پروژههای متأثر از تغییرات Git
- --affected-base <REV>
- نسخه پایه در Git برای --affected پیشفرض: MISE_AFFECTED_BASE، فراداده CI یا HEAD~1 است
- --affected-explain
- توضیح دلیل انتخاب پروژهها و وظایف توسط --affected
- --affected-head <REV>
- نسخه head در Git برای --affected پیشفرض: MISE_AFFECTED_HEAD، فراداده CI یا HEAD است
- --affected-json
- نمایش پروژهها و وظایف متأثر در قالب JSON بدون اجرای وظایف
- --all
- باز کردن انتخابگر تعاملی همراه با تمام وظایف از کل monorepo
- -c, --continue-on-error
- ادامه اجرای وظایف حتی در صورت شکست خوردن یکی از آنها
- -C, --cd <CD>
- تغییر به این دایرکتوری پیش از اجرای دستور
- -f, --force
- اجبار وظایف به اجرا حتی اگر خروجیها بهروز باشند
- -j, --jobs <JOBS>
- تعداد وظایف برای اجرا بهصورت موازی مقادیر کمتر از ۱ برابر ۱ در نظر گرفته میشوند [پیشفرض: 4] قابل پیکربندی با تنظیمات `jobs` یا متغیر محیطی `MISE_JOBS`
- -n, --dry-run
- عدم اجرای واقعی وظیفه(ها)، فقط چاپ آنها به ترتیب اجرا
- -o, --output <OUTPUT>
- تغییر نحوه
نمایش
خروجی
اطلاعات
وظایف
هنگام
اجرای
آنها
- `prefix` - چاپ خط به خط stdout/stderr، همراه با برچسب وظیفه بهعنوان پیشوند - `interleave` - چاپ مستقیم در stdout/stderr بهجای خط به خط - `replacing` - در هر بار stdout جایگزین میشود و stderr همانطور که هست چاپ میشود - `timed` - تنها خطوط stdout نمایش داده میشوند اگر بیش از ۱ ثانیه نمایش داده شوند - `keep-order` - چاپ خط به خط stdout/stderr همراه با برچسب وظیفه بهعنوان پیشوند، ولی با حفظ ترتیب خروجی - `quiet` - عدم نمایش خروجی اضافی - `silent` - عدم نمایش هرگونه خروجی شامل stdout و stderr از وظیفه، بهجز خطاها
- -q, --quiet
- عدم نمایش خروجی اضافی
- -r, --raw
- خواندن/نوشتن مستقیم در stdin/stdout/stderr بهجای خط به خط با این گزینه، حذف اطلاعات حساس (redactions) اعمال نمیشود قابل پیکربندی با تنظیمات `raw` یا متغیر محیطی `MISE_RAW`
- -s, --shell <SHELL>
- پوسته مورد
استفاده
برای اجرای
وظایف toml
پیشفرض در unix برابر `sh -c -o errexit -o pipefail` و در Windows برابر `cmd /c` است همچنین میتواند با تنظیم `MISE_UNIX_DEFAULT_INLINE_SHELL_ARGS` یا `MISE_WINDOWS_DEFAULT_INLINE_SHELL_ARGS` تعیین شود یا با ویژگی `shell` روی یک وظیفه بازنویسی شود.
- -S, --silent
- عدم نمایش هرگونه خروجی بهجز خطاها
- -t, --tool <TOOL@VERSION>
- ابزار(ها)یی که باید علاوه بر آنچه در فایلهای mise.toml است اجرا شوند؛ مانند: node@20 python@3.10
- --allow-env <VAR>
- اجازه عبور به متغیر محیطی مشخصشده (بهطور ضمنی باعث اعمال --deny-env برای بقیه میشود) از نویسههای عام (wildcard) پشتیبانی میکند، مانند: --allow-env='MYAPP_*'
- --allow-net <HOST>
- اجازه دسترسی شبکه به میزبان مشخصشده (بهطور ضمنی باعث اعمال --deny-net برای بقیه میشود)
- --allow-read <PATH>
- اجازه خواندن از مسیر مشخصشده (بهطور ضمنی باعث اعمال --deny-read برای بقیه میشود)
- --allow-write <PATH>
- اجازه نوشتن در مسیر مشخصشده (بهطور ضمنی باعث اعمال --deny-write برای بقیه میشود)
- --deny-all
- مسدودسازی خواندنها، نوشتنها، شبکه و متغیرهای محیطی
- --deny-env
- مسدودسازی به ارث بردن متغیرهای محیطی (تنها PATH، HOME، USER، SHELL، TERM و LANG عبور میکنند)
- --deny-net
- مسدودسازی تمامی دسترسیهای شبکه
- --deny-read
- مسدودسازی خواندن از سامانه فایل (کتابخانههای سیستمی و دایرکتوریهای ابزار همچنان در دسترس خواهند بود)
- --deny-write
- مسدودسازی تمامی نوشتنها در سامانه فایل
- --fresh-env
- دور زدن حافظه موقت (cache) محیط و محاسبه مجدد محیط
- --no-cache
- عدم استفاده از حافظه موقت (cache) در وظایف راهدور
- --no-deps
- صرفنظر کردن از آمادهسازی خودکار وابستگیها
- --no-timings
- پنهان کردن
زمان
سپریشده
پس از تکمیل
هر وظیفه
پیشفرض با `MISE_TASK_TIMINGS=0` همواره پنهان است
- --skip-deps
- تنها اجرای وظایف مشخصشده با صرفنظر از تمامی وابستگیها
- --skip-tools
- صرفنظر از
نصب
ابزارها
پیش از
اجرای
وظایف
همچنین میتواند بهطور ماندگار با تنظیم `task.run_auto_install` یا متغیر محیطی `MISE_TASK_RUN_AUTO_INSTALL=false` تعیین شود
- --task-cache <TASK_CACHE>
- تنظیم
دسترسی به
حافظه موقت
(cache) خروجی
وظیفه برای
این اجرا
- `read-write` - خواندن نتایج کششده و نوشتن نتایج جدید - `read-only` - خواندن نتایج کششده بدون نوشتن نتایج جدید - `write-only` - نوشتن نتایج جدید بدون خواندن نتایج کششده - `off` - غیرفعالسازی کش کردن خروجی وظیفه - `local-only` - فقط خواندن و نوشتن در حافظه موقت محلی؛ در حال حاضر معادل `read-write` است
- --task-cache-explain-json
- خروجی دادن جزئیات ورودی کلید کَش بهصورت JSON Lines بدون اجرای وظایف
- --task-cache-stats
- گزارش موارد اصابت کَش (cache hits) خروجی وظیفه، بایتهای بازیابیشده و زمان صرفهجوییشده
- --timeout <TIMEOUT>
- مهلت زمانی برای تکمیل وظیفه بهعنوان مثال: 30s, 5m
- --timings
- نمایش زمان
سپریشده
پس از تکمیل
هر وظیفه
بهطور پیشفرض همیشه با `MISE_TASK_TIMINGS=1` نمایش داده میشود
MISE TASKS VALIDATE
اعتبارسنجی وظایف برای بررسی خطاها و مشکلات رایج
نحوه استفاده: mise tasks validate [OPTIONS] [<TASKS>] ...
گزینهها:
- --errors-only
- فقط نمایش خطاها (صرفنظر از هشدارها)
- --json
- خروجی نتایج اعتبارسنجی در قالب JSON
- -h, --help
- چاپ راهنما آرگومانها:
- <TASKS>
- وظایف برای اعتبارسنجی در صورت عدم تعیین، تمام وظایف اعتبارسنجی میشوند
MISE TEST-TOOL
آزمایش اینکه یک ابزار نصب و اجرا میشود
نحوه استفاده: mise test-tool [OPTIONS] [<TOOLS>] ...
گزینهها:
- -a, --all
- آزمایش تمام ابزارهای مشخصشده در registry/
- -j, --jobs <JOBS>
- تعداد آزمونهای ابزار برای اجرا بهصورت موازی مقادیر کمتر از ۱ به عنوان ۱ در نظر گرفته میشوند [پیشفرض: 4]
- --all-config
- آزمایش تمام ابزارهای مشخصشده در فایلهای پیکربندی
- --include-non-defined
- همچنین آزمایش ابزارهایی که در registry/ تعریف نشدهاند، با حدس زدن نحوه آزمایش آنها
- --raw
- اتصال مستقیم stdin/stdout/stderr دستور نصب backend به ترمینال؛ مستلزم --jobs=1 است
- -h, --help
- چاپ راهنما آرگومانها:
- <TOOLS>
- ابزار(ها) برای آزمایش
MISE TOKEN
نمایش توکنهای ارائهدهنده git که mise استفاده خواهد کرد
نحوه استفاده: mise token [OPTIONS] <COMMAND>
گزینهها:
- -h, --help
- چاپ
راهنما.SH "MISE TOKEN
FORGEJO" نمایش
توکن Forgejo که mise
برای یک
میزبان
مشخص
استفاده
خواهد کرد
نشان میدهد که mise از کدام منبع توکن استفاده خواهد کرد؛ مفید برای عیبیابی مشکلات احراز هویت. توکن بهطور پیشفرض ماسک شده است.
نحوه استفاده: mise token forgejo [OPTIONS] [<HOST>]
گزینهها:
- --unmask
- نمایش کامل توکن بدون ماسک
- -h, --help
- چاپ راهنما آرگومانها:
- <HOST>
- نام میزبان Forgejo
MISE TOKEN GITHUB
نمایش توکن GitHub که mise برای یک میزبان مشخص استفاده خواهد کرد
نشان میدهد که mise از کدام منبع توکن استفاده خواهد کرد؛ مفید برای عیبیابی مشکلات احراز هویت. توکن بهطور پیشفرض ماسک شده است.
نحوه استفاده: mise token github [OPTIONS] [<HOST>]
گزینهها:
- --oauth
- یافتن توکن فقط از طریق منبع بومی GitHub OAuth (حافظه نهان، refresh یا جریان device-code)، با دور زدن سایر منابع توکن
- --raw
- تنها چاپ مقدار توکن
- --refresh
- تولید یک توکن OAuth تازه از طریق سازوکار اعطای refresh-token یا یک جریان device-code جدید، حتی اگر توکن موجود در حافظه نهان منقضی نشده باشد. پس از تغییر در نصبها یا مجوزهای GitHub App استفاده شود: توکنهای ذخیرهشده در حافظه نهان تا زمان انقضا دسترسی اولیه خود را حفظ میکنند
- --unmask
- نمایش کامل توکن بدون ماسک
- -h, --help
- چاپ راهنما آرگومانها:
- <HOST>
- نام میزبان GitHub
MISE TOKEN GITLAB
نمایش توکن GitLab که mise برای یک میزبان مشخص استفاده خواهد کرد
نشان میدهد که mise از کدام منبع توکن استفاده خواهد کرد؛ مفید برای عیبیابی مشکلات احراز هویت. توکن بهطور پیشفرض ماسک شده است.
نحوه استفاده: mise token gitlab [OPTIONS] [<HOST>]
گزینهها:
- --unmask
- نمایش کامل توکن بدون ماسک
- -h, --help
- چاپ راهنما آرگومانها:
- <HOST>
- نام میزبان GitLab
نحوه استفاده: mise tool [OPTIONS] <TOOL>
گزینهها:
- -J, --json
- خروجی در قالب JSON
- --active
- فقط نمایش نسخههای فعال
- --backend
- فقط نمایش فیلد backend
- --config-source
- فقط نمایش منبع پیکربندی
- --description
- فقط نمایش فیلد توضیحات
- --installed
- فقط نمایش نسخههای نصبشده
- --requested
- فقط نمایش نسخههای درخواستی
- --tool-options
- فقط نمایش گزینههای ابزار
- -h, --help
- نمایش راهنما آرگومانها:
- <TOOL>
- نام ابزار برای دریافت اطلاعات درباره آن
MISE TOOL-STUB
اجرای یک tool stub
فایلهای tool stub، فایلهای اجرایی حاوی پیکربندی TOML هستند که مشخص میکنند چه ابزاری و چگونه اجرا شود. آنها روشی آسان برای ایجاد فایلهای اجراییِ قابلحمل و مستقل فراهم میسازند که نصب و اجرای ابزار را بهطور خودکار مدیریت میکنند.
یک tool stub شامل موارد زیر است:
- یک خط shebang: #!/usr/bin/env -S mise tool-stub - پیکربندی TOML مشخصکننده ابزار، نسخه و گزینهها - توضیحات اختیاری برای شرح هدف ابزار
نمونه فایل stub:
```toml #!/usr/bin/env -S mise tool-stub # Node.js v20 development environment
tool = "node" version = "20.0.0" bin = "node" ```
در صورت عدم وجود نسخه مشخصشده از ابزار، استاب بهطور خودکار آن را نصب کرده و همراه با هر آرگومان ارسالی به استاب اجرا میکند.
برای اطلاعات بیشتر، ببینید: https://mise.jdx.dev/dev-tools/tool-stubs.html
نحوه استفاده: mise tool-stub <FILE> [<ARGS>] ...
آرگومانها:
- <FILE>
- مسیر فایل TOML
استابِ
ابزار جهت
اجرا
فایل استاب باید حاوی پیکربندی TOML باشد که ابزار و نسخه را برای اجرا مشخص کند. در کمترین حالت، باید فیلد 'version' را مشخص کند. سایر فیلدهای رایج شامل 'tool'، 'bin' و گزینههای ویژه backend هستند.
- <ARGS>
- آرگومانهایی
که باید به
ابزار
ارسال شوند
تمام آرگومانهای پس از مسیر فایل استاب به ابزار زیربنایی هدایت خواهند شد. در صورت نیاز، از '--' برای جداسازی آرگومانهای mise از آرگومانهای ابزار استفاده کنید.
MISE TRUST
علامتگذاری یک فایل پیکربندی به عنوان مورد اعتماد
این بدان معناست که به mise اجازه داده میشود هنگام نیاز به خواندن پیکربندیای که ممکن است کدی را اجرا کرده یا بر محیط اثر بگذارد، فایل را تجزیه کند. بدون اعتماد، mise ممکن است اعلان تایید نمایش دهد، پیکربندی را در برخی مسیرهای شناسایی نادیده بگیرد، یا در صورتی که امکان نمایش اعلان نباشد با خطای untrusted-config متوقف شود.
در حالت عادی (normal mode)، دستوراتی که رفتارهای تعریفشده توسط پروژه را اجرا میکنند (`mise run`، فراخوانی مستقیم وظایف مانند `mise <TASK>`، `mise install`، `mise exec` و `mise watch`) بهطور خودکار به پیکربندی فعال خود اعتماد میکنند. حالت Paranoid نیازمند اعتماد صریح و وابسته به محتوا (content-bound) برای هر پیکربندی غیرعمومی (non-global) است.
در حالت عادی، فایلهای پیکربندی امن نیازی به اعتماد ندارند: فایلهایی که فقط حاوی `min_version`، مدخلهای `[tools]` با رشتههای نگارش ساده (یا آرایهای از آنها) و `[tasks]` بدون الگوها یا گزینههای ابزار هستند.
اعتماد در سراسر git worktreeها به اشتراک گذاشته میشود: یک فایل پیکربندی درون یک worktree متصل، در صورتی مورد اعتماد است که مسیر معادل آن در checkout اصلی مخزن مورد اعتماد قرار گرفته باشد. حالت Paranoid این اشتراکگذاری را غیرفعال میکند؛ زیرا worktreeها میتوانند شاخههایی با محتویات پیکربندی متفاوت را checkout کنند.
نحوه استفاده: mise trust [OPTIONS] [<CONFIG_FILE>]
گزینهها:
- -a, --all
- اعتماد به
تمام
فایلهای
پیکربندی
در
دایرکتوری
فعلی،
والدهای آن
و
زیردایرکتوریهایش
زیردایرکتوریها با رعایت .gitignore پیمایش میشوند و از دایرکتوریهای مخفی و دایرکتوریهای معمول بیلد/وابستگی (node_modules، vendor، target، dist، build) صرفنظر میشود.
- --ignore
- به این پیکربندی اعتماد نکن و در آینده آن را نادیده بگیر
- --show
- نمایش وضعیت اعتماد فایلهای پیکربندی از دایرکتوری فعلی و والدهای آن. هیچ فایلی را مورد اعتماد یا نامعتمد نمیکند.
- --untrust
- حذف اعتماد صریح برای این پیکربندی
- -h, --help
- نمایش راهنما آرگومانها:
- <CONFIG_FILE>
- فایل
پیکربندی
که وضعیت
اعتماد آن
باید تغییر
کند.SH "MISE UNINSTALL"
نسخههای
نصبشده
ابزار را
حذف میکند
این دستور تنها نسخه نصبشده را حذف میکند و تغییری در mise.toml ایجاد نمیکند.
نحوه استفاده: mise uninstall [OPTIONS] [<INSTALLED_TOOL@VERSION>] ...
گزینهها:
- -a, --all
- حذف تمام نسخههای نصبشده
- -n, --dry-run
- در عمل چیزی را حذف نمیکند (اجرای آزمایشی)
- --dry-run-code
- مانند --dry-run
عمل
میکند،
اما در صورت
وجود
ابزارهایی
برای حذف،
با کد ۱
خارج
میشود
این گزینه برای اسکریپتها جهت بررسی نیاز به حذف ابزارها مفید است.
- -h, --help
- نمایش راهنما آرگومانها:
- <INSTALLED_TOOL@VERSION>
- ابزار(ها) برای حذف
MISE UNSET
حذف متغیر(های) محیطی از فایل پیکربندی.
بهطور پیشفرض، این دستور `mise.toml` را در دایرکتوری جاری تغییر میدهد.
نحوه استفاده: mise unset [OPTIONS] [<ENV_KEY>] ...
گزینهها:
- -f, --file, --path <FILE>
- مشخص کردن
یک فایل
برای
استفاده
بهجای `mise.toml`
میتواند مسیر یک فایل یا دایرکتوری باشد. اگر دایرکتوری مشخص شود، mise.toml در آن دایرکتوری ایجاد یا استفاده خواهد شد.
پیشفرض متغیر محیطی [`MISE_DEFAULT_CONFIG_FILENAME`](https://mise.jdx.dev/configuration.html#mise_default_config_filename) یا `mise.toml` است. از [`MISE_GLOBAL_CONFIG_FILE`](https://mise.jdx.dev/configuration.html#mise_global_config_file) برای انتخاب یک مسیر پیکربندی سراسری متفاوت استفاده کنید.
- -g, --global
- استفاده از فایل پیکربندی سراسری (global)
- -h, --help
- نمایش راهنما آرگومانها:
- <ENV_KEY>
- متغیر(های) محیطی برای حذف مانند: NODE_ENV
MISE UNTRUST
لغو اعتماد صریح برای یک فایل پیکربندی
نحوه استفاده: mise untrust [OPTIONS] [<CONFIG_FILE>]
گزینهها:
- -h, --help
- نمایش راهنما آرگومانها:
- <CONFIG_FILE>
- فایل پیکربندی مورد نظر برای لغو اعتماد
MISE UNUSE
نسخههای ابزار نصبشده را از 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`](https://mise.jdx.dev/configuration.html#mise_default_config_filename)
تنظیم شده
باشد، در
عوض از آن
استفاده
خواهد شد.
- اگر `MISE_OVERRIDE_CONFIG_FILENAMES`
تنظیم شده
باشد، از
نخستین
مورد آن
فهرست
استفاده
خواهد شد.
- در غیر این
صورت صرفاً
"mise.toml"، یا در
صورت قرار
داشتن cwd در
دایرکتوری
خانگی (home)، از
پیکربندی
سراسری
استفاده
میشود.
از [`MISE_GLOBAL_CONFIG_FILE`](https://mise.jdx.dev/configuration.html#mise_global_config_file) برای انتخاب یک مسیر پیکربندی سراسری متفاوت استفاده کنید.
همچنین در صورتی که هیچ پیکربندی دیگری از آن نسخه استفاده نکند، نسخه نصبشده را پاکسازی (prune) خواهد کرد.
نحوه استفاده: mise unuse [OPTIONS] <INSTALLED_TOOL@VERSION> ...
گزینهها:
- -e, --env <ENV>
- ایجاد یا ویرایش یک فایل پیکربندی وابسته به محیط مانند .mise.<env>.toml
- -g, --global
- استفاده از فایل پیکربندی سراسری (`~/.config/mise/config.toml`) بهجای فایل محلی
- -p, --path, --file <PATH>
- تعیین مسیر
یک فایل یا
دایرکتوری
پیکربندی
در صورت تعیین دایرکتوری، طبق قوانین بالا بهدنبال یک فایل پیکربندی در آن دایرکتوری میگردد.
- --no-prune
- نسخه نصبشده را پاکسازی (prune) نکند
- -h, --help
- نمایش راهنما آرگومانها:
- <INSTALLED_TOOL@VERSION>
- ابزار(ها)
برای حذف.SH "MISE
UPGRADE"
ابزارهای
قدیمی را
ارتقا
میدهد
بهطور پیشفرض، این دستور بازهٔ تعیینشده در mise.toml را حفظ میکند. بنابراین اگر node@20 تنظیم شده باشد، آن را به آخرین نسخهٔ 20.x.x موجود ارتقا میدهد. برای استفاده از آخرین نسخه و ارتقای (bump) نسخه در mise.toml، پرچم `--bump` را ببینید.
در صورت فعال بودن، این دستور mise.lock را بهروزرسانی میکند؛ ببینید: https://mise.jdx.dev/configuration/settings.html#lockfile
کاربرد: mise upgrade [OPTIONS] [<INSTALLED_TOOL@VERSION>] ...
گزینهها:
- -b, --bump
- ارتقا به
آخرین
نسخهٔ
موجود و
ارتقای
نسخه در mise.toml
برای مثال، اگر `node = "20.0.0"` را در mise.toml خود داشته باشید اما 22.1.0 آخرین نسخهٔ موجود باشد، این گزینه 22.1.0 را نصب کرده و `node = "22.1.0"` را در پیکربندی شما قرار میدهد.
این گزینه همان دقت نسخهای را که پیشتر وجود داشت حفظ میکند؛ بنابراین اگر در عوض `node = "20"` را داشتید، پیکربندی شما را به `node = "22"` تغییر میدهد.
- -i, --interactive
- نمایش منوی چندانتخابی برای برگزیدن ابزارهایی که باید ارتقا یابند
- -j, --jobs <JOBS>
- تعداد وظایفی که بهطور موازی اجرا میشوند مقدارهای کمتر از ۱ بهصورت ۱ در نظر گرفته میشوند [پیشفرض: 4]
- -l
- شکل کوتاهشده و منسوخشده برای --bump
- -n, --dry-run
- تنها کارهایی را که انجام خواهد شد نمایش میدهد، اما در عمل کاری انجام نمیدهد
- -x, --exclude <INSTALLED_TOOL>
- ابزار(هایی) که باید از ارتقا مستثنی شوند مثال: go python
- --dry-run-code
- مشابه --dry-run
عمل میکند
اما در صورت
وجود
ابزارهای
قدیمی با کد
۱ خارج
میشود
این گزینه برای اسکریپتها جهت بررسی اینکه آیا ابزارها نیاز به ارتقا دارند یا خیر مفید است.
- --inactive
- ارتقای تمام ابزارها، از جمله ابزارهای نصبشده اما غیرفعالی که در پیکربندی فعلی وجود ندارند
- --local
- تنها
ارتقای
ابزارهایی
که در
فایلهای
پیکربندی
محلی تعریف
شدهاند
این گزینه تنها ابزارهایی را ارتقا میدهد که در mise.toml محلیِ پروژه تعریف شدهاند و از ابزارهای تعریفشده در پیکربندی سراسری (~/.config/mise/config.toml) صرفنظر میکند.
- --minimum-release-age <MINIMUM_RELEASE_AGE>
- تنها ارتقا
به
نسخههایی
که پیش از
این تاریخ
منتشر
شدهاند یا
از این
مدتزمان
قدیمیتر
هستند
از تاریخهای مطلق مانند "2024-06-01" و مدتزمانهای نسبی مانند "90d" یا "1y" پشتیبانی میکند. این گزینه میتواند برای اهداف بازتولیدپذیری یا امنیتی مفید باشد.
این ویژگی تنها بر تطابقهای نسخهای تقریبی مانند "20" یا "latest" اثر میگذارد. نسخههایی که صراحتاً پین شدهاند (مانند "22.5.0") فیلتر نمیشوند.
- --monorepo
- جاینگهدار برای ارتقاهای آینده در ساختارهای چندمخزنی (monorepo)؛ دستور `mise upgrade --monorepo` هنوز پیادهسازی نشده است.
- --no-prune
- نسخههای
قبلی که از
آنها به
نسخههای
جدیدتر
ارتقا
یافته است
را حذف نکن
نسخهٔ قدیمی در جای خود باقی میماند و برای حذف زمانبندی نمیشود. هنگامی از این گزینه استفاده کنید که چیزی خارج از mise به دایرکتوری نصب اشاره داشته باشد.
برای تبدیل این حالت به پیشفرض، مقدار `upgrade.auto_prune = false` را تنظیم کنید.
- --prune
- نسخههای
قبلی که از
آنها
ارتقا داده
شده است را
فوراً حذف
کن
از این گزینه برای نادیده گرفتن `upgrade.prune_after`، یا خنثیکردن موقت `upgrade.auto_prune = false` برای یک بار اجرا استفاده کنید.
- --raw
- اتصال مستقیم ورودی/خروجی/خطای استاندارد (stdin/stdout/stderr) فرمان نصب پسزمینه به ترمینال؛ مستلزم --jobs=1 است
- -h, --help
- چاپ راهنما آرگومانها:
- <INSTALLED_TOOL@VERSION>
- ابزار(ها)
برای ارتقا
مثال: node@20 python@3.10 در
صورت عدم
تعیین،
تمام
ابزارهای
فعلی ارتقا
خواهند
یافت.SH "MISE USE" یک
ابزار را
نصب کرده و
نسخه آن را
به 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`](https://mise.jdx.dev/configuration.html#mise_default_config_filename) تنظیم شده باشد، در عوض از آن استفاده میکند.
- اگر `MISE_OVERRIDE_CONFIG_FILENAMES` تنظیم شده باشد، از اولین مورد آن فهرست استفاده خواهد کرد.
- در غیر این صورت، صرفاً "mise.toml" یا اگر cwd دایرکتوری خانگی باشد، پیکربندی سراسری.برای انتخاب یک مسیر پیکربندی سراسری متفاوت از [`MISE_GLOBAL_CONFIG_FILE`](https://mise.jdx.dev/configuration.html#mise_global_config_file) استفاده کنید.
برای استفاده از فایل پیکربندی سراسری، از پرچم `--global` استفاده کنید.
نحوه استفاده: mise use [OPTIONS] [TOOL@VERSION]…
گزینهها:
- -e, --env <ENV>
- ایجاد یا اصلاح یک فایل پیکربندی مخصوص محیط مانند .mise.<env>.toml
- -f, --force
- اجبار به نصب مجدد حتی در صورت نصب بودن از قبل
- -g, --global
- استفاده از فایل پیکربندی سراسری (`~/.config/mise/config.toml`) به جای فایل محلی
- -j, --jobs <JOBS>
- تعداد کارهایی که به صورت موازی اجرا میشوند مقادیر کمتر از 1 به عنوان 1 در نظر گرفته میشوند [پیشفرض: 4]
- -n, --dry-run
- اجرای آزمایشی، نمایش مواردی که بدون اعمال تغییرات نصب یا اصلاح خواهند شد
- -p, --path <PATH>
- مشخص کردن
مسیر یک
فایل
پیکربندی
یا
دایرکتوری
اگر یک دایرکتوری مشخص شود، با پیروی از قوانین بالا به دنبال یک فایل پیکربندی در آن دایرکتوری خواهد گشت.
- --dry-run-code
- مانند --dry-run
اما در صورت
وجود
تغییراتی
برای
اعمال، با
کد خروج 1
خارج
میشود
این گزینه برای اسکریپتها جهت بررسی نیاز به افزودن یا حذف ابزارها مفید است.
- --fuzzy
- ذخیره نسخه
تقریبی (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
- اتصال مستقیم stdin/stdout/stderr دستور نصب backend به ترمینال؛ مستلزم `--jobs=1` است
- --remove <TOOL>
- حذف ابزار(ها) از فایل پیکربندی
- -h, --help
- چاپ راهنما
- --postinstall <COMMAND>
- دستوری که پس از نصب این ابزار اجرا میشود آرگومانها:
- <TOOL@VERSION>
- ابزار برای
افزودن به
فایل
پیکربندی
برای مثال: node@20, cargo:ripgrep@latest npm:prettier@3 اگر نسخهای مشخص نشود، مقدار پیشفرض @latest خواهد بود
گزینههای ابزار را میتوان با این ساختار دستوری تنظیم کرد:
mise use ubi:BurntSushi/ripgrep[exe=rg].SH "MISE VERSION" نمایش نسخه miseنسخه، سیستمعامل، معماری و تاریخ ساخت (build) را نمایش میدهد.
اگر نسخه قدیمی باشد، یک هشدار نمایش داده میشود.
کاربرد: mise version [OPTIONS]
گزینهها:
- -J, --json
- چاپ اطلاعات نسخه در قالب JSON
- -h, --help
- چاپ راهنما
MISE WATCH
اجرای تسک(ها) و پایش تغییرات جهت اجرای مجدد آنها
این دستور از ابزار `watchexec` برای پایش تغییرات فایلها و اجرای مجدد تسک(های) مشخصشده استفاده میکند. برای کارکرد این دستور، این ابزار باید نصب باشد، اما میتوانید آن را با `mise use -g watchexec@latest` نصب کنید.
برای مدیریت پیشرفتهتر فرآیندها (مدیریت دیمن، راهاندازی مجدد خودکار، بررسیهای آمادهبهکاری، زمانبندی cron)، پروژه خواهر mise را ببینید: https://pitchfork.jdx.dev
کاربرد: mise watch [OPTIONS] [<TASK>] [<ARGS>] ...
گزینهها:
- -t, --task-flag <TASK_FLAG>
- تسکها برای اجرا
- -g, --glob <GLOB>
- فایلها برای پایش بهطور پیشفرض منابع حاصل از تسک(ها) در نظر گرفته میشود
- --skip-deps
- اجرای تنها تسکهای مشخصشده با صرفنظر از تمام وابستگیها
- -w, --watch <PATH>
- پایش یک
فایل یا
دایرکتوری
خاص
بهطور پیشفرض، Watchexec دایرکتوری جاری را پایش میکند.
هنگام پایش یک تکفایل، اغلب بهتر است به جای آن دایرکتوری حاوی آن را پایش کرده و بر اساس نام فایل فیلتر بگذارید. برخی ویرایشگرها ممکن است هنگام ذخیرهسازی، فایل را با یک فایل جدید جایگزین کنند و برخی پلتفرمها ممکن است این موضوع یا تغییرات بعدی را تشخیص ندهند.
هنگام شروع، Watchexec یک «مبدأ پروژه» (project origin) را از مسیرهای تحت پایش استخراج میکند. برای اطلاعات بیشتر، راهنمای '--project-origin' را ببینید.
این گزینه را میتوان چندین بار برای پایش چندین فایل یا دایرکتوری مشخص کرد.
مقدار ویژه '/dev/null'، اگر به عنوان تنها مسیر پایش ارائه شود، باعث میشود Watchexec هیچ مسیری را پایش نکند. سایر منابع رویداد (مانند سیگنالها یا رویدادهای کلید) همچنان قابل استفاده خواهند بود.
- -W, --watch-non-recursive <PATH>
- پایش یک
دایرکتوری
خاص،
بهصورت
غیربازگشتی
برخلاف '-w'، پوشههای پایششده با این گزینه بهصورت بازگشتی پیمایش نمیشوند.
این گزینه را میتوان چندین بار برای پایش چندین دایرکتوری بهصورت غیربازگشتی مشخص کرد.
- -F, --watch-file <PATH>
- پایش
فایلها و
دایرکتوریها
بر اساس یک
فایل
هر خط از فایل بهگونهای تفسیر میشود که گویی به '-w' داده شده است.
برای کاربردهای پیچیدهتر (مانند پایش غیربازگشتی)، از قابلیت argfile استفاده کنید: فایلی حاوی گزینههای خط فرمان بسازید و آن را با `@path/to/argfile` به watchexec پاس دهید.
مقدار ویژه '-' ورودی را از STDIN میخواند؛ این مقدار با '--stdin-quit' ناسازگار است.
- -c, --clear <MODE>
- پاک کردن
صفحه پیش از
اجرای
دستور
اگر این گزینه صفحه را بهطور کامل پاک نکرد، '--clear=reset' را امتحان کنید.
- -o, --on-busy-update <MODE>
- اقدام لازم
هنگام
دریافت
رویدادها
در حین
اجرای
دستور
حالت پیشفرض 'do-nothing' است که رویدادها را در حین اجرای دستور نادیده میگیرد تا تغییراتی که به واسطه اجرای دستور رخ میدهند (مانند خروجیهای کامپایل) نادیده گرفته شوند. همچنین میتوانید از 'queue' استفاده کنید که در صورت وقوع رویداد در حین اجرا، پس از اتمام اجرای فعلی، دستور را دوباره اجرا میکند، یا 'restart' که دستور در حال اجرا را خاتمه داده و دستور جدیدی را آغاز میکند. در نهایت، حالت 'signal' وجود دارد که تنها یک سیگنال ارسال میکند؛ این حالت برای برنامههایی که میتوانند پیکربندی خود را بدون شروع مجدد کامل بارگذاری کنند، مفید است.
سیگنال را میتوان با گزینه '--signal' مشخص کرد.
- -r, --restart
- شروع مجدد
فرآیند در
صورتی که
همچنان در
حال اجرا
باشد
این گزینه یک میانبر برای '--on-busy-update=restart' است.
- -s, --signal <SIGNAL>
- ارسال یک
سیگنال به
فرآیند
زمانی که
همچنان در
حال اجرا
است
سیگنالی را برای ارسال به فرآیند در زمانی که هنوز در حال اجراست مشخص کنید. این گزینه مستلزم '--on-busy-update=signal' است؛ در غیر این صورت، سیگنال مورد استفاده در زمانی که آن حالت 'restart' باشد توسط '--stop-signal' کنترل میشود.
برای نحو به مستندات تفصیلی '--stop-signal' مراجعه کنید.
سیگنالها در حال حاضر در Windows پشتیبانی نمیشوند و همیشه به 'kill' جایگزین خواهند شد. برای اطلاعات بیشتر در مورد "سیگنالهای" ویندوز به '--stop-signal' مراجعه کنید.
- --stop-signal <SIGNAL>
- سیگنال
ارسالی
برای متوقف
کردن دستور
این مورد توسط حالتهای 'restart' و 'signal' از '--on-busy-update' استفاده میشود (مگر اینکه '--signal' مشخص شده باشد). رفتار restart ارسال سیگنال، منتظر ماندن برای خروج دستور، و اگر پس از گذشت مدتی (به '--timeout-stop' مراجعه کنید) خارج نشد، خاتمه دادن اجباری آن است.
پیشفرض در یونیکس "SIGTERM" است.
ورودی به عنوان نام کامل سیگنال (مانند "SIGTERM")، نام کوتاه سیگنال (مانند "TERM") یا شماره سیگنال (مانند "15") تجزیه میشود. تمامی ورودیها نسبت به کوچکی و بزرگی حروف حساس نیستند.
در Windows این گزینه از نظر فنی پشتیبانی میشود اما فقط از رویداد "KILL" پشتیبانی میکند، زیرا Watchexec هنوز نمیتواند رویدادهای دیگر را تحویل دهد. ویندوز به خودی خود سیگنال ندارد؛ در عوض دارای سازوکار خاتمه (که در اینجا "KILL" یا "STOP" نامیده میشود) و رویدادهای "CTRL+C"، "CTRL+BREAK" و "CTRL+CLOSE" است. جهت سازگاری، سیگنالهای یونیکس "SIGKILL"، "SIGINT"، "SIGTERM" و "SIGHUP" به ترتیب به این موارد نگاشت میشوند.
- --stop-timeout <TIMEOUT>
- مدتزمان
انتظار
برای خروج
مسالمتآمیز
دستور
این مورد توسط حالت 'restart' از '--on-busy-update' استفاده میشود. پس از ارسال سیگنال توقف مسالمتآمیز، Watchexec منتظر خروج دستور میماند. اگر پس از این زمان خارج نشود، با اجبار خاتمه مییابد.
مقداری بدون واحد بر حسب ثانیه، یا یک بازه زمانی مانند "5min 20s" میگیرد. ارائه مقدار بدون واحد منسوخ شده و اخطار خواهد داد؛ در آینده این عمل منجر به خطا خواهد شد.
پیشفرض ۱۰ ثانیه است. برای کشتن اجباری و فوری دستور، آن را روی 0 تنظیم کنید.
این گزینه تأثیر عملی در Windows ندارد زیرا دستور همیشه با اجبار خاتمه مییابد؛ برای دلیل آن به '--stop-signal' مراجعه کنید.
- --map-signal <SIGNAL:SIGNAL>
- ترجمه
سیگنالها
از
سیستمعامل
به
سیگنالهای
ارسالی به
دستور
یک جفت نام سیگنال را که با دونقطه جدا شدهاند، دریافت میکند، مانند "TERM:INT" برای نگاشت SIGTERM به SIGINT. سیگنال اول سیگنالی است که توسط watchexec دریافت میشود و سیگنال دوم سیگنالی است که به دستور ارسال میشود. سیگنال دوم را میتوان برای نادیده گرفتن سیگنال اول حذف کرد، مانند "TERM:" برای انجام ندادن هیچ کاری در هنگام دریافت SIGTERM.
اگر SIGINT یا SIGTERM نگاشت شوند، دیگر باعث خروج از Watchexec نمیشوند. جدا از دشوار ساختن خروج از خود Watchexec، این ویژگی برای انتقال یک Ctrl-C به دستور بدون متوقف کردن همزمان Watchexec و برنامه زیرین آن مفید است، برای مثال با "INT:INT".
این گزینه را میتوان چندین بار برای نگاشت چندین سیگنال مشخص کرد.
نحو سیگنال برای نامهای کوتاه (مانند "TERM" و "USR2") و نامهای کامل (مانند "SIGKILL" و "SIGHUP") به کوچکی و بزرگی حروف حساس نیست. شمارههای سیگنال نیز پشتیبانی میشوند (مانند "15" و "31"). در Windows، حالتهای "STOP"، "CTRL+C" و "CTRL+BREAK" نیز برای دریافت پشتیبانی میشوند، اما Watchexec هنوز نمیتواند سیگنالهایی غیر از STOP را تحویل دهد.
- -d, --debounce <TIMEOUT>
- زمان
انتظار
برای
رویدادهای
جدید پیش از
اقدام
هنگامی که رویدادی دریافت میشود، Watchexec حداکثر تا این مدت زمان پیش از رسیدگی به آن (مانند اجرای دستور) منتظر میماند. این کار ضروری است زیرا آنچه ممکن است به عنوان یک تغییر واحد در نظر بگیرید ممکن است در عمل رویدادهای زیادی منتشر کند، و بدون این رفتار، Watchexec بیش از حد اجرا خواهد شد. علاوه بر این، غیرمعمول نیست که نوشتن در فایلها اتمیک نباشد و هر عمل نوشتن ممکن است رویدادی ارسال کند، بنابراین این روش مناسبی برای جلوگیری از اجرای دستور در حین نوشتن ناقص فایل است.
کاربرد دیگر این است که مقدار بالایی تنظیم کنید (مانند "30min" یا طولانیتر)، تا در مصرف انرژی یا پهنای باند برای تسکهای سنگین، مانند یک اسکریپت پشتیبانگیری موردی، صرفهجویی شود. در این موارد کاربرد، توجه داشته باشید که تمام رویدادهای انباشتهشده در حافظه جمع میشوند.
مقداری بدون واحد بر حسب میلیثانیه یا یک مقدار بازه زمانی مانند "5sec 20ms" میگیرد. ارائه مقدار بدون واحد منسوخ شده و هشدار میدهد؛ در آینده این عمل خطا محسوب خواهد شد.
پیشفرض ۵۰ میلیثانیه است. تنظیم روی 0 به شدت نهی میشود.
- --stdin-quit
- خروج هنگام
بسته شدن stdin
این گزینه توصیفگر فایل stdin را برای EOF پایش میکند و هنگام بسته شدن آن، با متانت از Watchexec خارج میشود. این قابلیت توسط برخی از مدیران فرآیند برای جلوگیری از باقی ماندن فرآیندهای زامبی استفاده میشود.
- --no-vcs-ignore
- بارگذاری
نکردن
فایلهای gitignore
همچنین سایر فایلهای نادیدهگیری VCS، مانند Mercurial، Subversion، Bazaar، DARCS و Fossil. توجه داشته باشید که Watchexec تشخیص میدهد کدام یک از این موارد در حال استفاده است (در صورت وجود) و تنها فایلهای مرتبط را بارگذاری میکند. هر دو نوع فایلهای سراسری (مانند '~/.gitignore') و محلی (مانند '.gitignore') در نظر گرفته میشوند.
این گزینه زمانی مفید است که میخواهید فایلهایی را پایش کنید که توسط Git نادیده گرفته شدهاند.
- --no-project-ignore
- بارگذاری
نکردن
موارد
نادیدهگیری
محلی پروژه
این گزینه بارگذاری فایلهای ignore محلی پروژه، مانند '.gitignore' یا '.ignore' در پروژه تحت پایش را غیرفعال میکند. این ویژگی با '--no-vcs-ignore' که بارگذاری فایلهای نادیدهگیری Git و سایر سامانه کنترل نسخه (VCS) را غیرفعال میسازد، و با '--no-global-ignore' که بارگذاری فایلهای نادیدهگیری سراسری یا کاربری مانند '~/.gitignore' یا '~/.config/watchexec/ignore' را غیرفعال میکند، متفاوت است.
فایلهای ignore پروژه پشتیبانیشده:
- Git: .gitignore در ریشه پروژه و دایرکتوریهای فرزند، .git/info/exclude، و فایلی که `core.excludesFile` در .git/config به آن اشاره میکند.
- Mercurial: .hgignore در ریشه پروژه و دایرکتوریهای فرزند.
- Bazaar: .bzrignore در ریشه پروژه.
- Darcs: _darcs/prefs/boring
- Fossil: .fossil-settings/ignore-glob
- Ripgrep/Watchexec/generic: .ignore در ریشه پروژه و دایرکتوریهای فرزند.فایلهای نادیدهگیری VCS (شامل Git، Mercurial، Bazaar، Darcs و Fossil) تنها در صورتی استفاده میشوند که مشخص شود VCS مربوطه برای پروژه/مبدأ استفاده شده است. برای مثال، یک .bzrignore در یک مخزن Git کنار گذاشته خواهد شد..TP --no-global-ignore عدم بارگذاری نادیدهگرفتههای سراسری
این گزینه بارگذاری فایلهای نادیدهگیری (ignore) سراسری یا کاربری مانند '~/.gitignore'، '~/.config/watchexec/ignore' یا '%APPDATA%\Bazaar\2.0\ignore' را غیرفعال میکند. مقایسه کنید با '--no-vcs-ignore' و '--no-project-ignore'.
فایلهای نادیدهگیری سراسری پشتیبانیشده:
- Git (در صورت تنظیم core.excludesFile): فایل در آن مسیر
- Git (در غیر این صورت): نخستین مورد یافتشده از $XDG_CONFIG_HOME/git/ignore، %APPDATA%/.gitignore، %USERPROFILE%/.gitignore، $HOME/.config/git/ignore، $HOME/.gitignore.
- Bazaar: نخستین مورد یافتشده از %APPDATA%/Bazaar/2.0/ignore، $HOME/.bazaar/ignore.
- Watchexec: نخستین مورد یافتشده از $XDG_CONFIG_HOME/watchexec/ignore، %APPDATA%/watchexec/ignore، %USERPROFILE%/.watchexec/ignore، $HOME/.watchexec/ignore.همانند فایلهای پروژه، فایلهای سراسری Git و Bazaar تنها برای VCS متناظر که در پروژه استفاده شده به کار خواهند رفت.
- --no-default-ignore
- عدم
استفاده از
نادیدهگرفتههای
پیشفرض
داخلی
ابزار Watchexec مجموعهای از الگوهای نادیدهگیری پیشفرض دارد، مانند فایلهای swap ویرایشگر، `*.pyc`، `*.pyo`، `.DS_Store`، `.bzr`، `_darcs`، `.fossil-settings`، `.git`، `.hg`، `.pijul`، `.svn` و فایلهای گزارش (log) ابزار Watchexec.
- --no-discover-ignore
- عدم پویش و
شناسایی
فایلهای
نادیدهگیری
این گزینه کوتهنوشتی برای '--no-global-ignore'، '--no-vcs-ignore' و '--no-project-ignore' است، اما حتی کارآمدتر است زیرا از همان ابتدا تمام سازوکارهای کشف نادیدهگیری را نادیده میگیرد.
توجه داشته باشید که نادیدهگرفتههای پیشفرض همچنان بارگذاری میشوند؛ به '--no-default-ignore' مراجعه کنید.
- --ignore-nothing
- هیچ چیز
نادیده
گرفته نشود
این گزینه کوتهنوشتی برای '--no-discover-ignore' و '--no-default-ignore' است.
توجه داشته باشید که نادیدهگرفتههایی که صراحتاً از طریق سایر گزینههای خط فرمان بارگذاری شدهاند، مانند '--ignore' یا '--ignore-file'، همچنان استفاده خواهند شد.
- -p, --postpone
- انتظار تا
نخستین
تغییر پیش
از اجرای
دستور
به طور پیشفرض، Watchexec دستور را یک بار بلافاصله اجرا میکند. با این گزینه، به جای آن، پیش از اجرای عادی دستور تا زمان تشخیص یک رویداد منتظر میماند.
- --delay-run <DURATION>
- درنگ پیش از
اجرای
دستور
این گزینه باعث میشود Watchexec پس از تشخیص یک رویداد، پیش از اجرای دستور به مدتزمان مشخصشده به خواب (sleep) برود. این کار شبیه به استفاده از "sleep 5 && command" در یک شل است، اما سازگارتر و کمی کارآمدتر میباشد.
مقداری بدون یکا بر حسب ثانیه، یا مقداری در قالب بازه زمانی مانند "2min 5s" را میپذیرد. ارائه مقدار بدون یکا منسوخ شده است و هشدار در پی خواهد داشت؛ در آینده این عمل منجر به خطا خواهد شد.
- --poll <INTERVAL>
- سرکشی
دورهای (poll)
برای
تغییرات
سیستمفایل
به طور پیشفرض و در صورت در دسترس بودن، Watchexec از قابلیتهای بومی سیستمعامل برای پایش سیستمفایل استفاده میکند. این گزینه آن قابلیت را غیرفعال کرده و به جای آن از سازوکار سرکشی (polling) استفاده میکند که کارایی کمتری دارد، اما میتواند مشکلات ناشی از برخی سیستمهای فایل (مانند اشتراکهای شبکه) یا موارد خاص را برطرف کند.
به صورت اختیاری مقداری بدون یکا بر حسب میلیثانیه یا مقداری در قالب بازه زمانی مانند "2s 500ms" را به عنوان بازه زمانی سرکشی دریافت میکند. در صورت عدم تعیین، مقدار پیشفرض ۳۰ ثانیه است. ارائه مقدار بدون یکا منسوخ شده و هشدار در پی دارد؛ در آینده این کار منجر به خطا خواهد شد.
با نام مستعار '--force-poll'.
- --shell <SHELL>
- استفاده از
یک شل
متفاوت
به طور پیشفرض، Watchexec در صورت تعریف بودن از '$SHELL' یا مقدار پیشفرض 'sh' در سیستمهای شبهیونیکس استفاده میکند؛ و در ویندوز بسته به اینکه Watchexec چه شلی را به عنوان شل در حال اجرا تشخیص دهد، از 'pwsh'، 'powershell' یا 'cmd' (CMD.EXE) استفاده خواهد کرد.
با این گزینه میتوانید آن را لغو کرده و از شل متفاوتی استفاده کنید؛ برای مثال شلی با قابلیتهای بیشتر یا شلی که نامهای مستعار (aliasها) و توابع سفارشی شما را دارد.
اگر مقدار دارای فاصله باشد، به عنوان یک خط فرمان تجزیه شده و کلمه اول به عنوان برنامه شل و باقی کلمات به عنوان آرگومانهای ارسالی به شل استفاده میشوند.
دستور با پرچم '-c' اجرا میشود (به جز 'cmd' در ویندوز که در آن از '/C' استفاده میشود).
مقدار ویژه 'none' میتواند برای غیرفعال کردن کامل استفاده از شل به کار رود. در این حالت، دستور ارائهشده به Watchexec تجزیه شده که در آن کلمه اول فایل اجرایی و مابقی آرگومانها خواهند بود، و مستقیماً اجرا میشود. توجه داشته باشید که این تجزیه ابتدایی است و ممکن است در همه موارد آنطور که انتظار میرود عمل نکند.
استفاده از 'none' کمی کارآمدتر است و امکان تفسیر دقیقتر ورودی را فراهم میسازد، اما همچنین به این معنی است که نمیتوانید از قابلیتهای شل مانند انطباق الگو (globbing)، تغییر مسیر (redirection)، کنترل جریان (control flow)، منطق یا لولهها (pipes) بهره ببرید.
مثالها:
استفاده بدون شل:
$ watchexec -n -- zsh -x -o shwordsplit scrاستفاده با powershell core:
$ watchexec --shell=pwsh -- Test-Connection localhostاستفاده با CMD.exe:
$ watchexec --shell=cmd -- dirاستفاده با یک شل یونیکس متفاوت:
$ watchexec --shell=bash -- 'echo $BASH_VERSION'استفاده با یک شل یونیکس به همراه گزینهها:
$ watchexec --shell='zsh -x -o shwordsplit' -- scr - -n
- کوتهنوشتی برای '--shell=none'
- --emit-events-to <MODE>
- پیکربندی
ارسال
رویدادها
ابزار Watchexec هنگام اجرای یک دستور میتواند اطلاعات رویداد را ارسال کند که توسط فرایند فرزند برای هدف قرار دادن فایلهای تغییریافتهٔ خاص قابل استفاده است.
نکتهای که باید به آن توجه داشت این است که نباید رفتاری تصادفی را رفتاری ذاتی و قطعی فرض کرد. بهویژه ممکن است به نظر برسد متغیر `RENAMED` هم مسیر اصلی و هم مسیر جدید تغییرنامیافته را در خود دارد. در نسخههای پیشین، حتی در برخی پلتفرمها اینطور به نظر میرسید که مسیر اصلی همیشه پیش از مسیر جدید میآید. با این وجود، هیچیک از اینها حقیقت نداشت. تشخیص قابل اطمینان و سازگار با پلتفرمهای مختلف در مورد اینکه کدام مسیر تغییریافته قدیمی و کدام جدید است غیرممکن است؛ تغییر نامهای «ناقص» ممکن است رخ دهند (فقط اصلی، فقط جدید)، تغییر نامهای «ناشناخته» ممکن است ظاهر شوند (تغییر از نوع تغییر نام بوده، اما اینکه قدیمی بوده یا جدید مشخص نیست)، رویدادهای تغییر نام ممکن است در دو مرز حذف لرزش (debouncing) تفکیک شوند، و مواردی از این دست.
این گزینه مشخص میکند که این اطلاعات به کجا ارسال شود. مقدار پیشفرض آن 'none' است که هیچ اطلاعات رویدادی ارسال نمیکند. سایر گزینهها عبارتند از 'environment' (منسوخشده)، 'stdio'، 'file'، 'json-stdio' و 'json-file'.
حالتهای 'stdio' و 'file' متنی هستند: حالت 'stdio' مسیرهای مطلق را در stdin دستور مینویسد (یک مسیر در هر خط)، که به هر یک پیشوند `create:`، `remove:`، `rename:`، `modify:` یا `other:` اضافه شده است، و سپس دستگیره (handle) را میبندد؛ حالت 'file' همین موارد را درون یک فایل موقت مینویسد و مسیر آن از طریق متغیر محیطی $WATCHEXEC_EVENTS_FILE ارائه میشود.
همچنین دو حالت JSON وجود دارد که مبتنی بر اشیاء JSON بوده و میتوانند مجموعه کاملی از رویدادهایی را که Watchexec مدیریت میکند نمایش دهند. در اینجا نمونهای از ایجاد یک پوشه در لینوکس آورده شده است:
```json
{
"tags": [
{
"kind": "path",
"absolute": "/home/user/your/new-folder",
"filetype": "dir"
},
{
"kind": "fs",
"simple": "create",
"full": "Create(Folder)"
},
{
"kind": "source",
"source": "filesystem",
}
],
"metadata": {
"notify-backend": "inotify"
}
} ```فیلدها به شرح زیر هستند:
- `tags`، دادههای ساختاریافته رویداد.
- `tags[].kind`، که میتواند یکی از موارد زیر باشد:
* 'path'، به همراه:
+ `absolute`، یک مسیر مطلق.
+ `filetype`، نوع فایل در صورت مشخص بودن ('dir'، 'file'، 'symlink'، 'other').
* 'fs':
+ `simple`، نوع رویداد «ساده» ('access'، 'create'، 'modify'، 'remove' یا 'other').
+ `full`، نوع رویداد «کامل» که توصیف جامع آن در اینجا بسیار پیچیده است، اما ساختاری شبیه به 'General(Precise(Specific))' دارد.
* 'source'، به همراه:
+ `source`، منبع رویداد ('filesystem'، 'keyboard'، 'mouse'، 'os'، 'time'، 'internal').
* 'keyboard'، به همراه:
+ `keycode`. در حال حاضر تنها مقدار 'eof' پشتیبانی میشود.
* 'process'، برای رویدادهای ایجادشده توسط فرایندها:
+ `pid`، شناسه فرایند (PID).
* 'signal'، برای سیگنالهای ارسالشده به Watchexec:
+ `signal`، نام استاندارد سیگنال ('hangup'، 'interrupt'، 'quit'، 'terminate'، 'user1'، 'user2').
* 'completion'، برای زمان پایان یک دستور:
+ `disposition`، وضعیت خاتمه ('success'، 'error'، 'signal'، 'stop'، 'exception'، 'continued').
+ `code`، کد خروج، سیگنال، توقف یا استثنا.
- `metadata`، اطلاعات تکمیلی در مورد رویداد.حالت 'json-stdio' رویدادهای JSON را در ورودی استاندارد (stdin) دستور مینویسد (یک رویداد در هر خط) و سپس stdin را میبندد. حالت 'json-file' یک فایل موقت ایجاد میکند، رویدادها را در آن مینویسد و مسیر فایل را با متغیر محیطی $WATCHEXEC_EVENTS_FILE ارائه میدهد.
در نهایت، حالت 'environment' تا نگارش 2.0 پیشفرض بود. این حالت متغیرهای محیطی را برای رویدادهای سیستمفایل، با مسیرهای فایلهای متأثر مقداردهی میکند:
متغیر $WATCHEXEC_COMMON_PATH با طولانیترین مسیر مشترک تمام متغیرهای زیر مقداردهی میشود، و بنابراین برای به دست آوردن مسیر کامل/واقعی باید به ابتدای هر مسیر الحاق شود. سپس:
- $WATCHEXEC_CREATED_PATH هنگام ایجاد فایلها/پوشهها تنظیم میشود
- $WATCHEXEC_REMOVED_PATH هنگام حذف فایلها/پوشهها تنظیم میشود
- $WATCHEXEC_RENAMED_PATH هنگام تغییر نام فایلها/پوشهها تنظیم میشود
- $WATCHEXEC_WRITTEN_PATH هنگام ویرایش فایلها/پوشهها تنظیم میشود
- $WATCHEXEC_META_CHANGED_PATH هنگام تغییر متاداده فایلها/پوشهها تنظیم میشود
- $WATCHEXEC_OTHERWISE_CHANGED_PATH برای هر نوع رویداد مسیردار دیگر تنظیم میشودمسیرهای چندگانه با نویسه جداکننده مسیر سیستم جدا میشوند؛ ';' در ویندوز و ':' در یونیکس. در هر متغیر، مسیرها یکتا شده (حذف موارد تکراری) و به ترتیب باینری مرتب میشوند (یعنی بدون توجه به یونیکد یا محلیسازی/locale).
این یک حالت موروثی (legacy) است، منسوخ شده و در آینده حذف خواهد شد. محیط (environment) فضایی بسیار محدود است و در آنچه میتواند به طور مفید نمایش دهد نیز محدودیت دارد. تعداد بالای فایلها یا باعث بریده شدن متغیرهای محیطی میشود یا ممکن است منجر به خطا یا توقف غیرمنتظره (crash) کامل فرایند گردد. همچنین متغیر $WATCHEXEC_COMMON_PATH گیجکننده و غیربدیهی است، همانطور که پرسشهای سردرگم بیشماری که طی سالها به صندوق ورودی من ارسال شده این را نشان میدهد.
این یک گزینهٔ کارآمد برای استفاده از Watchexec بهعنوان یک پایشگر فایل، بدون اجرای هیچ دستوری است. این گزینه تقریباً معادل استفاده از دستور `cat` است، با این تفاوت که برای هر رویداد یک فرایند جدید ایجاد نمیکند.
این گزینه نیازمند تنظیم بودن `--emit-events-to` است و حالتهای دردسترس را به `stdio` و `json-stdio` محدود میکند، و رفتار آنها را به نوشتن در stdout بهجای stdin دستور تغییر میدهد.
- -E, --env <KEY=VALUE>
- افزودن
متغیرهای
محیطی به
دستور
این یک گزینهٔ کارآمد برای تنظیم متغیرهای محیطی برای دستور، بدون تنظیم آنها برای خود فرایند Watchexec است.
از نحو key=value استفاده کنید. متغیرهای متعدد را میتوان با تکرار این گزینه تنظیم کرد.
- --wrap-process <MODE>
- پیکربندی
نحوهٔ
دربرگیری (wrap)
فرایند
بهطور پیشفرض، Watchexec دستور را در macOS درون یک نشست (session)، در سایر پلتفرمهای Unix درون یک گروه فرایندی (process group) و در Windows در یک Job Object اجرا میکند.
برخی از برنامههای Unix ترجیح میدهند در یک نشست اجرا شوند، در حالی که برخی دیگر در یک گروه فرایندی کار نمیکنند.
از 'group' برای استفاده از یک گروه فرایندی، 'session' برای استفاده از یک نشست فرایندی، و 'none' برای اجرای مستقیم دستور استفاده کنید. در Windows، هر یک از 'group' یا 'session' از یک Job Object استفاده خواهد کرد.
- -N, --notify
- هشدار
هنگام آغاز
و پایان
دستورها
با این گزینه، Watchexec هنگام آغاز و پایان یک دستور، روی پلتفرمهای پشتیبانیشده یک اعلان دسکتاپ ارسال میکند. در پلتفرمهای پشتیبانینشده، ممکن است بدون هیچ پیامی کاری انجام ندهد یا یک هشدار ثبت کند.
- --color <MODE>
- زمان
استفاده از
رنگهای
پایانه
تنظیم متغیر محیطی `NO_COLOR` به هر مقداری معادل `--color=never` است.
- --timings
- چاپ مدت
زمان اجرای
دستور
این مقدار ممکن است کاملاً دقیق نباشد، زیرا شامل مقداری سربار از جانب خود Watchexec است. برای نتایج دقیقتر از ابزار `time`، زمانسنجهای با دقت بالا یا ابزارهای محکزنی (benchmarking) استفاده کنید.
- -q, --quiet
- عدم چاپ
پیامهای
آغاز و توقف
بهطور پیشفرض Watchexec هنگام آغاز و توقف دستور پیامی را چاپ میکند. این گزینه این رفتار را غیرفعال میکند، بنابراین تنها خروجی، هشدارها و خطاهای خود دستور چاپ خواهند شد.
- --bell
- به صدا درآوردن زنگ پایانه پس از تکمیل دستور
- --project-origin <DIRECTORY>
- تنظیم مبدأ
پروژه (project origin)
برنامهٔ Watchexec تلاش خواهد کرد «مبدأ» (یا «ریشهٔ») پروژه را با جستجوی نشانههای گوناگون مانند فایلها یا الگوهای دایرکتوری پیدا کند. تمام تلاشش را میکند اما گاهی اشتباه تشخیص میدهد، و شما میتوانید با این گزینه آن را لغو و بازنویسی کنید.
مبدأ پروژه برای تعیین مسیر برخی فایلهای نادیدهگیری (ignore files)، اینکه کدام VCS در حال استفاده است، مفهوم '/' ابتدایی در الگوهای فیلتر کردن، و احتمالاً موارد بیشتر در آینده استفاده میشود.
هنگام تنظیم شدن، Watchexec دیگر وقتی صرف جستجو نخواهد کرد، که میتواند بهطور چشمگیری سریعتر باشد.
- --workdir <DIRECTORY>
- تنظیم
دایرکتوری
کاری
بهطور پیشفرض، دایرکتوری کاری دستور همان دایرکتوری کاری Watchexec است. میتوانید با این گزینه آن را تغییر دهید. توجه داشته باشید که استفاده از مسیرها با این گزینه ممکن است کمتر شهودی باشد.
- -e, --exts <EXTENSIONS>
- پسوندهای
نام فایل
برای فیلتر
کردن
این یک فیلتر سریع برای ارسال رویدادها تنها برای فایلهایی با پسوندهای دادهشده است. پسوندها میتوانند با یا بدون نقطهٔ ابتدایی مشخص شوند (مثلاً 'js' یا '.js'). پسوندهای چندگانه را میتوان با تکرار گزینه یا با جدا کردن آنها با کاما مشخص کرد.
- -f, --filter <PATTERN>
- الگوهای
نام فایل
برای فیلتر
کردن
یک الگوی فیلتر شبیه به glob ارائه دهید، و تنها رویدادهای فایلهایی که با الگو مطابقت دارند ارسال خواهند شد. الگوهای چندگانه را میتوان با تکرار گزینه تعیین کرد. رویدادهایی که مربوط به فایلها نیستند (مانند سیگنالها، رویدادهای صفحهکلید) بدون تغییر عبور داده خواهند شد.
- --filter-file <PATH>
- فایلها
برای
بارگذاری
فیلترها از
آنها
مسیری به یک فایل حاوی فیلترها، در هر خط یکی، ارائه دهید. خطوط خالی و خطوطی که با '#' آغاز میشوند نادیده گرفته میشوند. از همان قالب الگوی گزینهٔ '--filter' استفاده میکند.
این مورد همچنین میتواند از طریق متغیر محیطی $WATCHEXEC_FILTER_FILES استفاده شود.
- -J, --filter-prog <EXPRESSION>
- [آزمایشی]
برنامههای
فیلتر.
/!\ این گزینه آزمایشی است و ممکن است بدون اطلاع قبلی تغییر کند یا حذف شود.
برنامههای فیلتر سفارشی خود را با نحو jaq (مشابه jq) ارائه دهید. رویدادها به همان قالبی که در '--emit-events-to' شرح داده شده به برنامهها داده میشوند و برنامه باید یک مقدار بولی (boolean) برگرداند. برنامههای نامعتبر باعث شکست در شروع watchexec میشوند؛ از '-v' برای دیدن خطاهای زمان اجرای برنامه استفاده کنید.
علاوه بر stdlib در jaq، برنامهٔ watchexec چند تعریف فیلتر سفارشی اضافه میکند:
- مقدار 'path | file_meta' متادیتای فایل را برمیگرداند یا در صورت عدم وجود فایل null میدهد.
- مقدار 'path | file_size' اندازهٔ فایل در مسیر را برمیگرداند، یا در صورت عدم وجود فایل null میدهد.
- مقدار 'path | file_read(bytes)' یک رشته شامل n بایت اول فایل در مسیر را برمیگرداند.
اگر فایل کوچکتر از n بایت باشد، کل فایل برگردانده میشود. هیچ فیلتری برای
خواندن کل فایل بهصورت یکجا وجود ندارد تا محدود کردن حجم دادههای خواندهشده و پردازششده تشویق شود.
- مقادیر 'string | hash' و 'path | file_hash' هشِ رشته یا فایل در مسیر را برمیگردانند.
هیچ تضمینی در مورد الگوریتم استفادهشده وجود ندارد: با آن بهعنوان یک مقدار مات (opaque) برخورد کنید.
- مقادیر 'any | kv_store(key)'، 'kv_fetch(key)' و 'kv_clear' یک مخزن کلید-مقدار ساده فراهم میکنند.
دادهها تنها در حافظه نگهداری میشوند و هیچ پایداریای وجود ندارد. سازگاری تضمین نمیشود.
- مقادیر 'any | printout'، 'any | printerr' و 'any | log(level)' هر مقدار دادهشده را در
stdout، stderr یا لاگ چاپ یا ثبت میکنند (سطوح = error, warn, info, debug, trace)، و
مقدار را عبور میدهند (بنابراین '[1] | log("debug") | .[]' مقدار '1' را تولید کرده و '[1]' را لاگ میکند).تمام فیلترسازیهای انجامشده با چنین برنامههایی، بهویژه مواردی که از kv یا دسترسی به فایلسیستم استفاده میکنند، بسیار کندتر از روشهای دیگر فیلترسازی است. اگر فیلترسازی بیش از حد کند باشد، رویدادها انباشته شده و باعث توقف watchexec میشوند. هنگام طراحی فیلترهای خود دقت کنید.
اگر آرگومان این گزینه با یک '@' شروع شود، بقیهٔ آرگومان بهعنوان مسیر فایلی شامل یک برنامهٔ jaq در نظر گرفته میشود.
برنامههای jaq به ترتیب و پس از همهٔ فیلترهای دیگر اجرا میشوند و اتصالکوتاه (short-circuit) هستند: اگر یک فیلتر (چه jaq و چه غیر آن) رویدادی را رد کند، اجرا همانجا متوقف میشود و هیچ فیلتر دیگری اجرا نخواهد شد. علاوه بر این، آنها پس از خروجی دادن اولین مقدار متوقف میشوند، بنابراین هنگام پیمایش تمایل خواهید داشت از 'any' یا 'all' استفاده کنید، در غیر این صورت فقط اولین مورد پردازش خواهد شد که میتواند بسیار گیجکننده باشد!
برنامههای ارائهشده توسط کاربران را بیابید یا برنامههای مفید خود را در https://github.com/watchexec/watchexec/discussions/592 ارسال کنید.
## مثالها:
فیلتر نادیدهگیری با عبارت منظم (Regexp) روی مسیرها:
'all(.tags[] | select(.kind == "path"); .absolute | test("[.]test[.]js$")) | not'عبور دادن هر رویدادی که یک فایل ایجاد میکند:
'any(.tags[] | select(.kind == "fs"); .simple == "create")'عبور دادن رویدادهایی که فایلهای اجرایی را لمس میکنند:
'any(.tags[] | select(.kind == "path" && .filetype == "file"); .absolute | metadata | .executable)'نادیده گرفتن فایلهایی که با شهبنگ (shebang) آغاز میشوند:
'any(.tags[] | select(.kind == "path" && .filetype == "file"); .absolute | read(2) == "#!") | not' - -i, --ignore <PATTERN>
- الگوهای
نام فایل
برای
نادیده
گرفتن
یک الگوی فیلتر شبیه به glob ارائه دهید، و رویدادهای فایلهایی که با الگو مطابقت دارند نادیده گرفته خواهند شد. الگوهای چندگانه را میتوان با تکرار گزینه مشخص کرد. رویدادهایی که مربوط به فایلها نیستند (مانند سیگنالها، رویدادهای صفحهکلید) دستنخورده عبور داده خواهند شد.
- --ignore-file <PATH>
- فایلها
برای
بارگذاری
موارد
نادیدهگیری
از آنها
مسیری به یک فایل حاوی موارد نادیدهگیری، در هر خط یکی، ارائه دهید. خطوط خالی و خطوطی که با '#' آغاز میشوند نادیده گرفته میشوند. از همان قالب الگوی گزینهٔ '--ignore' استفاده میکند.
این مورد همچنین میتواند از طریق متغیر محیطی $WATCHEXEC_IGNORE_FILES استفاده شود.
- --fs-events <EVENTS>
- رویدادهای
فایلسیستم
برای فیلتر
کردن
این یک فیلتر سریع برای ارسال رویدادها فقط برای انواع مشخصشدهای از تغییرات فایلسیستم است. از میان 'access'، 'create'، 'remove'، 'rename'، 'modify' و 'metadata' انتخاب کنید. انواع چندگانه را میتوان با تکرار گزینه یا با جدا کردن آنها با کاما مشخص کرد. بهطور پیشفرض، این شامل همهٔ انواع بهجز 'access' است.
در صورت امکان، این ممکن است فیلتر کردن را در سطح هسته اعمال کند، که میتواند کارآمدتر باشد اما ممکن است هنگام خواندن لاگها گیجکنندهتر باشد.
- --no-meta
- عدم ارسال
رویدادهای
فایلسیستم
برای
تغییرات
متادیتا
این یک نام اختصاری برای '--fs-events create,remove,rename,modify' است. استفاده از آن در کنار گزینهٔ '--fs-events' بیمعنی بوده و مجاز نیست.
- --print-events
- چاپ
رویدادهایی
که کنشها
را تحریک
میکنند
این گزینه رویدادهایی را که هنگام مدیریت، کنش را برانگیختهاند (پس از اعمال debounce)، در قالبی خوانا برای انسان چاپ میکند. این برای اشکالزدایی فیلترها مفید است.
هنگامی که به اطلاعات تشخیصی بیشتری نیاز دارید، بهجای آن از '-vvv' استفاده کنید.
- --manual
- نمایش
صفحهٔ
راهنما (manual)
اگر خروجی یک پایانه باشد و برنامهٔ 'man' در دسترس باشد، این گزینه صفحهٔ راهنمای Watchexec را نشان میدهد. در غیر این صورت، صفحهٔ راهنما در قالب ROFF در stdout چاپ میشود (مناسب برای نوشتن در یک فایل watchexec.1).
- -h, --help
- چاپ راهنما آرگومانها:.PP
- <TASK>
- تسکهای مورد نظر برای اجرا میتوان چندین تسک را با جدا کردن توسط `:::` مشخص کرد بهعنوان مثال: `mise run task1 arg1 arg2 ::: task2 arg1 arg2` پیشفرض: `default`
- <ARGS>
- تسک و آرگومانها برای اجرا
MISE WHERE
نمایش مسیر نصب یک ابزار
برای کارکرد این دستور، ابزار باید نصب شده باشد.
روش استفاده: mise where [OPTIONS] <TOOL@VERSION> [<ASDF_VERSION>]
گزینهها:
- -h, --help
- نمایش راهنما آرگومانها:
- <TOOL@VERSION>
- ابزار(ها) برای جستجو بهعنوان مثال: ruby@3 اگر "@<PREFIX>" مشخص شده باشد، آخرین نسخهٔ نصبشده که با این پیشوند مطابقت دارد نمایش داده خواهد شد در غیر این صورت، نسخهٔ فعال و نصبشدهٔ فعلی را نمایش میدهد
- <ASDF_VERSION>
- پیشوند نسخه برای استفاده در هنگام پرسوجوی آخرین نسخه مشابه با اولین آرگومان پس از "@" جهت سازگاری با asdf استفاده میشود
MISE WHICH
مسیری را نشان میدهد که فایل اجرایی (bin) ابزار به آن اشاره دارد.
از این دستور برای تشخیص اینکه در حال حاضر کدام نسخه از ابزار فعال است استفاده کنید.
روش استفاده: mise which [OPTIONS] [<BIN_NAME>]
گزینهها:
- -t, --tool <TOOL@VERSION>
- استفاده از یک tool@version مشخص بهعنوان مثال: `mise which npm --tool=node@20`
- --complete
- --plugin
- نمایش نام پلاگین بهجای مسیر
- --version
- نمایش نسخه بهجای مسیر
- -h, --help
- نمایش راهنما آرگومانها:
- <BIN_NAME>
- فایل اجرایی (bin) برای جستجو
نویسندگان (AUTHORS)
Jeff Dickey <@jdx>