OPAM-LINT(1) Opam Manual OPAM-LINT(1)

opam-lint - بررسی و اعتبارسنجی فایل‌های توصیف بسته ('opam')

opam lint [OPTION]… [FILES]…

با دریافت یک فایل opam، چندین بررسی کیفی روی آن انجام داده و توصیه‌ها، هشدارها یا خطاها را در خروجی خطای استاندارد (stderr) نمایش می‌دهد.

نام فایل‌های opam جهت بررسی، یا دایرکتوری حاوی آن‌ها. در صورت مشخص نشدن، دایرکتوری جاری در نظر گرفته می‌شود.

بررسی بالادست (upstream)، در دسترس بودن بایگانی و مجموع(های) مقابله‌ای (checksum).
ارسال یک نسخهٔ استانداردسازی‌شده از فایل opam به خروجی استاندارد (stdout).
بررسی ساختاری تعریف فعلی بستهٔ مشخص‌شده به‌جای تعیین مستقیم یک فایل opam.
اجازه دادن به جستجوی بازگشتی فایل‌های *.opam. همچنین به --subpath رجوع کنید.
فقط چاپ شماره‌های هشدار/خطا به‌صورت جداشده با فاصله (در صورت وجود).
فایل‌های *.opam به‌جای دایرکتوری اصلی، از زیردایرکتوری ارائه‌شده دریافت می‌شوند. سورس‌ها از زیردایرکتوری هدف برداشته می‌شوند و در بخش داخلی فقط این زیردایرکتوری کپی یا دریافت می‌گردد. این گزینه می‌تواند با --recursive برای جستجوی بازگشتی روی مسیر فرعی (subpath) ترکیب شود.
انتخاب هشدارهایی که نمایش داده شوند یا پنهان شوند. آرگومان WARNS باید ترکیبی پیوسته از +N، -N، @N، +N..M، -N..M و @N..M باشد تا به‌ترتیب شمارهٔ هشدار یا خطای N یا همهٔ هشدارهای با شماره‌های بین N و M (شامل هر دو) را فعال، غیرفعال یا به‌عنوان‌خطا‌فعال کند. همهٔ هشدارها به‌طور پیش‌فرض فعال هستند، مگر اینکه WARNS با + یا @ آغاز شود که در این صورت همه به‌جز موارد انتخابی غیرفعال خواهند شد.

W20: فیلد 'opam-version' به نسخهٔ وصله (patch) مربوط به opam اشاره دارد؛ باید به شکل MAJOR.MINOR باشد.

E21: فیلد 'opam-version' با نسخهٔ فعلی همخوانی ندارد؛ اعتبارسنجی ممکن است دقیق نباشد.

E22: برخی فیلدها وجود دارند اما خالی هستند؛ آن‌ها را حذف یا پر کنید.

E23: فیلد 'maintainer' وجود ندارد.

E24: فیلد 'maintainer' مقدار پیش‌فرض قدیمی را دارد.

W25: فیلد 'authors' وجود ندارد.

W26: فیلد 'install' وجود ندارد اما فیلد 'remove' هست: دستورالعمل‌های نصب احتمالاً بخشی از 'build' هستند. از فیلد 'install' یا یک فایل .install استفاده کنید.

E28: پرچم‌های ناشناخته برای بسته یافت شد.

E29: وابستگی‌ها یا تداخل‌های بسته، به متغیرهای بسته ارجاع می‌دهند.

E31: فیلدهای 'depends' و 'depopts' به نام بسته‌های یکسانی اشاره دارند.

E32: فیلد 'ocaml-version:' و متغیر 'ocaml-version' منسوخ شده‌اند؛ به‌جای آن برای در دسترس بودن از وابستگی به بستهٔ 'ocaml' و برای اسکریپت‌ها از متغیر بستهٔ 'ocaml:version' استفاده کنید.

E33: فیلد 'os' منسوخ شده است؛ به‌جای آن از 'available' و متغیر 'os' استفاده کنید.

E34: فیلد 'available:' حاوی ارجاعاتی به متغیرهای محلی بسته است. مقدار آن تنها باید از متغیرهای پیکربندی سراسری تعیین شود.

W35: فیلد 'homepage' وجود ندارد.

W36: فیلد 'bug-reports' وجود ندارد.

W37: فیلد 'dev-repo' وجود ندارد.

E39: دستور 'make' مستقیماً فراخوانی شده است؛ به‌جای آن از متغیر داخلی استفاده کنید.

W41: برخی بسته‌ها در اسکریپت‌ها یا قابلیت‌های بسته ذکر شده‌اند، اما هیچ وابستگی یا depopt متناظری برای آن‌ها وجود ندارد.

E42: فیلد 'dev-repo:' از سیستم کنترل نسخه استفاده نمی‌کند. باید از نشانی‌های اینترنتی به شکل "git://"، "git+https://"، "hg+https://" و... استفاده کنید.

E43: در فیلد 'conflicts:' از عطف منطقی استفاده شده است. تنها استفاده از '|' مجاز است.

W44: پرچم بستهٔ 'plugin' تنظیم شده است اما نام بسته با 'opam-' آغاز نمی‌شود.

E45: درون‌یابی متغیرِ بسته‌نشده در رشته‌ها.

E46: بسته با "conf" پرچم‌گذاری شده است اما حاوی دستورالعمل‌های سورس، نصب یا حذف است.

W47: خلاصه باید با یک حرف بزرگ آغاز شده و با نقطه پایان نیابد.

W48: فیلدهای 'build-test:' و 'build-doc:' منسوخ شده‌اند و باید با استفاده از متغیرهای فیلتر 'with-test' و 'with-doc' در فیلدهای 'build:' و 'install:'، و همچنین با فیلد جدیدتر 'run-test:' جایگزین شوند.

W49: نشانی‌های زیر از سامانه کنترل نسخه استفاده نمی‌کنند اما شبیه به نشانی‌های کنترل نسخه به نظر می‌رسند.

W50: پرچم 'post' در کنار وابستگی‌های ساخت یا اختیاری بی‌معنی است.

E51: رفتار پرچم‌های وابستگیِ نفی‌شدهٔ 'build' یا 'post' نامشخص است.

E52: بسته بیهوده با "light-uninstall" علامت‌گذاری شده است، زیرا فاقد هرگونه دستورالعمل حذف است.

E53: فیلد 'extra-files:' نامنطبق است.

W54: وابستگی‌های خارجی نباید حاوی فاصله یا رشتهٔ خالی باشند.

E55: رشتهٔ غیراستاندارد سیستم‌عامل یا معماری مورد بررسی قرار گرفته است.

E57: خلاصه نباید خالی باشد.

W58: متغیر از‌پیش‌تعریف‌شده یافت شد.

W59: نشانی اینترنتی حاوی مجموع مقابله‌ای (checksum) نیست.

E60: بررسی بالادست (upstream) با شکست مواجه شد.

W61: متغیر `with-test` در `run-test` خارج از حوزه (scope) است؛ نادیده گرفته خواهد شد.

W62: مجوز از استاندارد SPDX پیروی نمی‌کند، https://spdx.org/licenses را ببینید

E63: فیلد `subpath` نیازمند یک محدودیت در فیلد available است: `opam-version > 2.1`

E65: نشانی‌های اینترنتی (URL) باید مطلق باشند.

W66: رشته‌ای که در فرمول فیلترشدهٔ بسته نمی‌تواند به نوع بولی (bool) تبدیل شود.

E67: مجموع مقابله‌ای برای یک نشانی غیربایگانی تعیین شده است.

W68: فیلد 'license' وجود ندارد.

W69: نام بسته در متغیر درون درون‌یابی رشته‌ای حاوی چند '+' است، استفاده کنید از

E70: فیلد 'extra-files' حاوی فایل‌های تکراری است.

E71: فیلد 'url.checksum' حاوی مجموع‌های مقابله‌ای تکراری است.

E72: فیلد 'extra-sources' حاوی مجموع‌های مقابله‌ای تکراری است.

E73: فیلد 'extra-files' حاوی مسیری با '..' است.

W74: فیلد 'pin-depends' حاوی بسته‌هایی است که نه در 'depends' و نه در 'depopts' قرار دارند..SH "گزینه‌های عمومی (COMMON OPTIONS)"

این گزینه‌ها بین تمام دستورها مشترک هستند.

--best-effort
اگر همه بسته‌های درخواستی قابل نصب نبودند، با شکست متوقف نشو: تلاش کن تا جای ممکن بیشترین تعداد بسته نصب شود. توجه داشته باشید که ممکن است همه حل‌کننده‌های خارجی از این گزینه پشتیبانی نکنند (نسخه‌های اخیر aspcud یا mccs باید پشتیبانی کنند). این معادل با تنظیم متغیر محیطی $OPAMBESTEFFORT است.
--cli=MAJOR.MINOR (absent=2.5)
استفاده از نحو و معناشناسی واسط خط فرمان نسخه MAJOR.MINOR. برای هرگونه استفاده ماندگار از opam (اسکریپت‌ها، پست‌های وبلاگ و غیره) در نظر گرفته شده است؛ هر نسخه‌ای از opam در همان سری MAJOR مشابه نسخه مشخص‌شده MINOR رفتار خواهد کرد. این پرچم در opam 2.0 در دسترس نبود، بنابراین برای انتخاب CLI نسخه 2.0، متغیر محیطی OPAMCLI را به جای استفاده از این پارامتر برابر با 2.0 قرار دهید.
--color=WHEN
رنگی کردن خروجی. مقدار WHEN باید یکی از always، never یا auto باشد.
--confirm-level=LEVEL
سطح تأیید؛ مقدار LEVEL باید یکی از ask، no، yes یا unsafe-yes باشد. می‌تواند بیش از یک بار مشخص شود. اگر --yes یا --no نیز داده شده باشند، مقدار آخرین --confirm-level در نظر گرفته می‌شود. این معادل با تنظیم $OPAMCONFIRMLEVEL است.
--criteria=CRITERIA
مشخص کردن ترجیحات (preferences) کاربر برای حل وابستگی‌ها در این اجرا. مقادیر $OPAMCRITERIA، $OPAMFIXUPCRITERIA و $OPAMUPGRADECRITERIA را بازنویسی می‌کند. برای جزئیات در مورد زبان پشتیبانی‌شده و حل‌کننده‌های خارجی موجود، ببینید: http://opam.ocaml.org/doc/External_solvers.html. یک راهنمای عمومی برای استفاده از ترجیحات حل‌کننده را می‌توان در http://www.dicosmo.org/Articles/usercriteria.pdf یافت.
--cudf=FILENAME
گزینه اشکال‌زدایی: ذخیره درخواست‌های CUDF ارسال‌شده به حل‌کننده در FILENAME-<n>.cudf که در آن <n> نشان‌دهنده n-امین فراخوانی حل‌کننده در طول اجرای opam است.
--debug
چاپ پیام‌های اشکال‌زدایی در stderr. این گزینه معادل با تنظیم $OPAMDEBUG بر روی "true" است.
--debug-level=LEVEL
مشابه --debug، اما امکان تعیین سطح اشکال‌زدایی را فراهم می‌کند (--debug آن را روی ۱ تنظیم می‌کند). معادل با تنظیم $OPAMDEBUG بر روی یک عدد صحیح مثبت.
--git-version
چاپ نسخه git برنامه opam، در صورت تعیین (یعنی اگر از نسخه توسعه استفاده می‌کنید)، و خروج.
--help[=FMT] (default=auto)
نمایش این راهنما در قالب FMT. مقدار FMT باید یکی از auto، pager، groff یا plain باشد. با انتخاب auto، هرگاه متغیر محیطی TERM برابر با dumb یا تعریف‌نشده باشد، قالب به pager یا plain تغییر می‌کند.
--ignore-pin-depends
نادیده گرفتن سنجاق‌کردن‌های اضافی (pin) مورد نیاز بسته‌هایی که سنجاق می‌شوند، چه به صورت دستی از طریق opam pin یا از طریق opam install DIR. این معادل با تنظیم IGNOREPINDEPENDS=true است.
--json=FILENAME
ذخیره نتایج اجرای opam در یک فایل قابل خواندن توسط رایانه. اگر نام فایل شامل نویسه `%' باشد، با شاخصی جایگزین می‌شود که فایل موجود را بازنویسی نکند. مشابه تنظیم متغیر $OPAMJSON.
--no
پاسخ «خیر» (no) به تمام پرسش‌های بله/خیر opam بدون اعلان و درخواست. همچنین ببینید: --confirm-level. این معادل با تنظیم $OPAMNO بر روی "true" است.
--no-aspcud
در 2.1 حذف شد.
--no-auto-upgrade
هنگام پیکربندی یا به‌روزرسانی مخزنی که برای نسخه قدیمی‌تر opam (نسخه 1.2) نوشته شده است، opam به طور داخلی آن را به قالب فعلی تبدیل می‌کند. این گزینه این رفتار را غیرفعال می‌کند. توجه داشته باشید که مخازن باید نسخه قالب خود را در یک فایل 'repo' در ریشه خود مشخص کنند، در غیر این صورت فرض می‌شود که در قالب قدیمی‌تر هستند. در هر صورت، ارتقای دستی مخازن با استفاده از opam admin upgrade [--mirror URL] در صورت امکان ترجیح داده می‌شود.
--no-self-upgrade
برنامه opam در صورت وجود، خود را با باینری جدیدتری که در OPAMROOT/opam یافت می‌شود جایگزین می‌کند. این گزینه این رفتار را غیرفعال می‌کند.
-q, --quiet
غیرفعال کردن --verbose.
--root=ROOT
استفاده از ROOT به عنوان مسیر ریشه فعلی. این معادل با تنظیم $OPAMROOT بر روی ROOT است.
--safe, --readonly
اطمینان حاصل می‌کند که هیچ چیزی به طور خودکار به‌روزرسانی یا بازنویسی نشود. برای مثال برای فراخوانی از اسکریپت‌های تکمیل خودکار (completion) مفید است. هر زمان که چنین عملیاتی نیاز باشد، با شکست مواجه می‌شود؛ همچنین از انتظار برای قفل‌ها جلوگیری می‌کند، از پرسش‌های تعاملی صرف‌نظر کرده و متغیر $OPAMDEBUG را لغو می‌کند. این معادل با تنظیم متغیر محیطی $OPAMSAFE است.
--solver=CMD
مشخص کردن حل‌کننده CUDF مورد استفاده برای رفع مشکلات نصب بسته. این مقدار می‌تواند یک حل‌کننده از پیش تعریف‌شده باشد (این نسخه از opam از builtin-mccs+lp()، builtin-mccs+glpk، builtin-dummy-z3-solver، builtin-0install، aspcud، mccs، aspcud-old و packup پشتیبانی می‌کند)، یا یک دستور سفارشی که باید شامل متغیرهای %{input}%، %{output}%، %{criteria}% و در صورت تمایل %{timeout}% باشد. این معادل با تنظیم $OPAMEXTERNALSOLVER است.
--strict
شکست در صورت یافتن هرگونه خطا در تعریف بسته یا فایل پیکربندی. حالت پیش‌فرض، ادامه دادن در سکوت در صورت امکان است.
--switch=SWITCH
استفاده از SWITCH به عنوان سوئیچ کامپایلر فعلی. این معادل با تنظیم $OPAMSWITCH بر روی SWITCH است.
--use-internal-solver
غیرفعال کردن هرگونه حل‌کننده خارجی و استفاده از حل‌کننده داخلی (این امر مستلزم آن است که opam با یک حل‌کننده داخلی کامپایل شده باشد). این معادل با تنظیم $OPAMNOASPCUD یا $OPAMUSEINTERNALSOLVER است.
-v, --verbose
پرحرفی بیشتر و نمایش جزئیات. یک بار درج -v تمام دستورهای بسته را نشان می‌دهد، تکرار آن دستورهای فراخوانی‌شده به صورت داخلی (مانند tar، curl، patch و غیره) را نیز نمایش می‌دهد. تکرار به تعداد n بار معادل با تنظیم $OPAMVERBOSE بر روی "n" است.
--version
نمایش اطلاعات نسخه.
-w, --working-dir
هنگام به‌روزرسانی بسته‌های متصل به یک دایرکتوری محلی تحت سامانه کنترل نسخه، به‌روزرسانی به وضعیت کاری فعلی منبع آن‌ها به جای آخرین وضعیت ثبت‌شده (commit) یا ارجاعی که به آن اشاره دارند انجام می‌شود. از آنجا که دایرکتوری منبع همان‌طور که هست کپی می‌شود، اگر تمیز نباشد ممکن است منجر به شکست ساخت در opam شود. این مورد تنها روی بسته‌هایی اثر می‌گذارد که به طور صریح در خط فرمان ذکر شده‌اند. همچنین می‌تواند با $OPAMWORKINGDIR تنظیم شود.
-y, --yes
پاسخ «بله» (yes) به تمام پرسش‌های بله/خیر opam بدون اعلان و درخواست. همچنین ببینید: --confirm-level. این معادل با تنظیم $OPAMYES بر روی "true" است.

دستور opam از متغیرهای محیطی ذکرشده در اینجا استفاده می‌کند. متغیرهای بولی برای غیرفعال‌سازی باید روی "0"، "no"، "false" یا رشته خالی، و برای فعال‌سازی روی "1"، "yes" یا "true" تنظیم شوند.

OPAMALLPARENS تمام فیلترها را درون پرانتز قرار می‌دهد.

OPAMASSUMEDEPEXTS گزینه `--assume-depexts' را ببینید.

OPAMAUTOANSWER فقط برای استفاده داخلی.

OPAMAUTOREMOVE گزینه حذف `--auto-remove' را ببینید.

OPAMBESTEFFORT گزینه `--best-effort' را ببینید.

OPAMBESTEFFORTPREFIXCRITERIA رشته‌ای را تنظیم می‌کند که هنگام فعال بودن گزینه `--best-effort' باید به معیارها پیشوند شود و انتظار می‌رود ویژگی `opam-query' را در پاسخ به حداکثر برساند.

OPAMBUILDDOC در 2.1 حذف شد.

OPAMBUILDTEST در 2.1 حذف شد.

OPAMCLI گزینه `--cli' را ببینید.

OPAMCOLOR هنگامی که روی always یا never تنظیم شود، یک مقدار پیش‌فرض برای گزینه `--color' تعیین می‌کند.

OPAMCONFIRMLEVEL گزینه `--confirm-level` را ببینید. مقدار OPAMCONFIRMLEVEL بر OPAMYES و OPAMNO اولویت دارد.

OPAMCRITERIA ترجیحات (preferences) کاربر را برای حل وابستگی مشخص می‌کند. مقدار پیش‌فرض به نسخه حل‌کننده بستگی دارد؛ برای آگاهی از تنظیمات فعلی از `config report' استفاده کنید. همچنین گزینه --criteria را ببینید.

OPAMCUDFFILE گراف CUDF را در file-actions-explicit.dot ذخیره می‌کند.

OPAMCUDFTRIM فیلتر کردن بسته‌های غیرمرتبط در طول پیش‌پردازش CUDF را کنترل می‌کند.

OPAMCURL می‌تواند برای انتخاب یک برنامه مشخص 'curl' استفاده شود. برای گزینه‌های بیشتر OPAMFETCH را ببینید.

OPAMDEBUG گزینه‌های `--debug' و `--debug-level' را ببینید.

OPAMDEBUGSECTIONS در صورت تنظیم، پیام‌های اشکال‌زدایی را به فهرستی از بخش‌ها که با فاصله از هم جدا شده‌اند محدود می‌کند. بخش‌ها می‌توانند به صورت اختیاری دارای سطح اشکال‌زدایی خاصی باشند (برای مثال CLIENT:2 یا CLIENT CUDF:2)، اما در غیر این صورت از `--debug-level' استفاده می‌شود.`

OPAMDIGDEPTH میزان تهاجمی بودن جستجو برای تعارضات در طول پیش‌پردازش CUDF را مشخص می‌کند.

OPAMDOWNLOADJOBS حداکثر تعداد دانلودهای هم‌زمان را تنظیم می‌کند.

OPAMDROPWORKINGDIR هنگام به‌روزرسانی، بسته‌هایی را که پیش‌تر با --working-dir به‌روزرسانی شده‌اند بازنویسی می‌کند. بدون تنظیم این متغیر، opam آن‌ها را بدون تغییر نگه می‌دارد مگر اینکه صریحاً در خط فرمان نام برده شوند.

OPAMDRYRUN گزینه `--dry-run' را ببینید.

OPAMEDITOR ویرایشگر مورد استفاده برای ویرایش فایل opam را مشخص می‌کند؛ مقادیر $EDITOR و $VISUAL را بازنویسی می‌کند.

OPAMERRLOGLEN تعداد خطوط گزارش چاپ‌شده هنگام شکست یک زیرفرایند را تنظیم می‌کند. مقدار 0 برای چاپ تمام خطوط است.

OPAMEXTERNALSOLVER گزینه `--solver' را ببینید.

OPAMFAKE گزینه `--fake' را ببینید.

OPAMFETCH نحوه دانلود فایل‌ها را مشخص می‌کند: یکی از مقادیر `wget' یا `curl' یا یک دستور سفارشی که در آن متغیرهای %{url}%، %{out}%، %{retry}%، %{compress}% و %{checksum}% جایگزین خواهند شد. مقدار 'download-command' از فایل پیکربندی اصلی را بازنویسی می‌کند.

OPAMFIXUPCRITERIA مشابه OPAMUPGRADECRITERIA، اما مخصوص اصلاح (fixup) و نصب مجدد.

OPAMIGNORECONSTRAINTS گزینه نصب `--ignore-constraints-on' را ببینید.

OPAMIGNOREPINDEPENDS گزینه `--ignore-pin-depends' را ببینید.

OPAMINPLACEBUILD گزینه `--inplace-build' را ببینید.

OPAMJOBS حداکثر تعداد پردازش‌های موازی در حال اجرا را تعیین می‌کند.

OPAMJSON ثبت خروجی JSON در فایل مشخص‌شده (از نویسه `%' برای شماره‌گذاری فایل‌ها استفاده کنید).

OPAMKEEPBUILDDIR گزینه نصب `--keep-build-dir' را ببینید.

OPAMKEEPLOGS به opam می‌گوید که برخی از گزارش‌های موقت دستورات و برخی نسخه‌های پشتیبان را حذف نکند. این کار برخی از مراحل پاک‌سازی نهایی را نادیده می‌گیرد و همچنین ممکن است به دریافت ردیابی‌های پشته (backtraces) قابل‌اعتمادتر کمک کند.

OPAMLOCKED ترکیبی از گزینه‌های `--locked' و `--lock-suffix'.

OPAMLOGS logdir دایرکتوری گزارش‌ها را مشخص می‌کند؛ پیش‌فرض یک دایرکتوری موقت در /tmp است

OPAMMAKECMD دستور make سیستمی مورد استفاده را مشخص می‌کند.

OPAMMERGEOUT ادغام خروجی‌های فرایند، یعنی stderr بر روی stdout.

OPAMNO پاسخ «خیر» به هر سؤالی که پرسیده شود؛ گزینه‌های `--no` و `--confirm-level` را ببینید. در صورت تنظیم بودن هر یک از OPAMCONFIRMLEVEL یا OPAMYES، مقدار OPAMNO نادیده گرفته می‌شود.

OPAMNOAGGREGATE همراه با `opam admin check' بسته‌ها را تجمیع نمی‌کند.

OPAMNOASPCUD منسوخ شده است.

OPAMNOAUTOUPGRADE ارتقای داخلی خودکار مخازن با قالب قبلی به قالب فعلی را هنگام 'update' یا 'init' غیرفعال می‌کند.

OPAMNOCHECKSUMS در صورت موجود بودن، گزینه --no-checksums را فعال می‌کند.

OPAMNODEPEXTS مدیریت وابستگی‌های سیستم را غیرفعال می‌کند؛ گزینه `--no-depexts' را ببینید.

OPAMNOENVNOTICE داخلی.

OPAMNOSELFUPGRADE گزینه `--no-self-upgrade' را ببینید

OPAMPINKINDAUTO تعیین می‌کند که آیا سیستم‌های کنترل نسخه هنگام سنجاق کردن به یک مسیر محلی شناسایی شوند یا خیر. به طور پیش‌فرض از نسخه 1.3.0 فعال است.

OPAMPRECISETRACKING ردیابی دقیق و ریزدانه‌ای دایرکتوری‌ها.

OPAMPREPRO این مقدار را برای غیرفعال کردن پیش‌پردازش CUDF روی false قرار دهید. کارایی کمتری دارد، اما ممکن است به اشکال‌زدایی مشکلات حل‌کننده کمک کند.

OPAMREPOSITORYTARRING ذخیره مخازن در داخل به صورت فایل‌های tar.gz. این حالت روی سامانه‌های فایلی که با پویش درخت‌های بزرگ فایل سازگاری خوبی ندارند اما حافظه موقت (caching) مناسبی در /tmp دارند بسیار سریع‌تر است. با این حال، در حالت کلی کندتر است.

OPAMREQUIRECHECKSUMS گزینه `--require-checksums' را در صورت در دسترس بودن فعال می‌کند (برای مثال برای `opam install').

OPAMRETRIES تعداد تلاش‌ها قبل از اعلام شکست دانلودها را تعیین می‌کند.

OPAMREUSEBUILDDIR گزینه `--reuse-build-dir' را ببینید.

OPAMROOT گزینه `--root' را ببینید. این متغیر به طور خودکار توسط `opam env --root=DIR --set-root' تنظیم می‌شود.

OPAMROOTISOK عدم نمایش اخطار هنگام اجرا به عنوان کاربر ریشه (root).

OPAMSAFE گزینه `--safe' را ببینید.

OPAMSHOW گزینه `--show' را ببینید.

OPAMSKIPUPDATE گزینه `--skip-updates' را ببینید.

OPAMSKIPVERSIONCHECKS نادیده گرفتن برخی بررسی‌های نسخه. ناامن است و صرفاً برای آزمایش سازگاری کاربرد دارد.

OPAMSOLVERALLOWSUBOPTIMAL (پیش‌فرض `true') به برخی از حل‌کننده‌ها اجازه می‌دهد تا هنگام رسیدن به پایان زمان مجاز (timeout) همچنان یک پاسخ بازگردانند؛ در حالی که از سازگاری پاسخ اطمینان حاصل می‌شود، در این حالت هیچ تضمینی وجود ندارد که پاسخ با معیارهای بهینه‌سازی مورد انتظار مطابقت داشته باشد. اگر `true' باشد، opam با یک هشدار ادامه می‌دهد؛ اگر `false' باشد، اتمام زمان مجاز یک خطا تلقی می‌شود. در حال حاضر فقط backend پیش‌ساخته builtin-z3 این حالت تنزل‌یافته را مدیریت می‌کند.

OPAMSOLVERTIMEOUT تغییر زمان مجاز حل‌کننده. پیش‌فرض 60.0 است؛ برای حالت نامحدود روی 0 تنظیم کنید. توجه داشته باشید که ممکن است همه حل‌کننده‌ها از این گزینه پشتیبانی نکنند.

OPAMSOLVERTOLERANCE میزان تحمل در برابر انتخاب یک پاسخ غیربهینه توسط حل‌کننده را تغییر می‌دهد (یعنی ممکن است بسته‌های قدیمی‌تر را دریافت کند). مقادیر معمول بین 0.0 (بهترین پاسخ شناخته‌شده توسط حل‌کننده) تا 1.0 (پاسخ غیربهینه) متغیر است. پیش‌فرض 0.0 است. این گزینه در صورتی مفید است که حل‌کننده نتواند در زمان معقول به پاسخی برسد (به $OPAMSOLVERTIMEOUT مراجعه کنید). توجه داشته باشید که ممکن است همه حل‌کننده‌ها از این گزینه پشتیبانی نکنند.

OPAMSTATS در 2.4 حذف شد.

OPAMSTATUSLINE نمایش یک خط وضعیت پویا که نشان می‌دهد در حال حاضر روی ترمینال چه می‌گذرد. (یکی از مقادیر always، never یا auto)

OPAMSTRICT توقف با شکست در صورت وجود هرگونه ناسازگاری (خواندن فایل، درون‌ریزی سوئیچ و غیره).

OPAMSWITCH گزینه `--switch' را ببینید. به طور خودکار توسط `opam env --switch=SWITCH --set-switch' تنظیم می‌شود.

OPAMUNLOCKBASE گزینه نصب `--unlock-base' را ببینید.

OPAMUPGRADECRITERIA ترجیحات (preferences) کاربر را برای حل وابستگی هنگام انجام ارتقا مشخص می‌کند. در صورت تنظیم بودن هر دو، در ارتقاها بر OPAMCRITERIA تقدم دارد. همچنین گزینه --criteria را ببینید.

OPAMUSEINTERNALSOLVER گزینه `--use-internal-solver' را ببینید.

OPAMUSEOPENSSL در 2.2 حذف شد.

OPAMUTF8 استفاده از نویسه‌های UTF8 در خروجی (یکی از مقادیر always، never یا auto). پیش‌فرض `auto' است که از روی locale مشخص می‌شود.

OPAMUTF8MSGS استفاده از نویسه‌های گسترش‌یافته UTF8 (شترها) در پیام‌های opam. مستلزم فعال بودن OPAMUTF8 است. این متغیر به طور پیش‌فرض فقط در macOS فعال است.

OPAMVALIDATIONHOOK در صورت تنظیم، از دستور `%{hook%}' برای اعتبارسنجی به‌روزرسانی مخزن opam استفاده می‌کند.

OPAMVERBOSE گزینه `--verbose' را ببینید.

OPAMVERBOSEON گزینه --verbose-on را ببینید

OPAMVERSIONLAGPOWER استفاده نکنید.

OPAMWITHDEVSETUP گزینه نصب `--with-dev-setup' را ببینید.

OPAMWITHDOC گزینه نصب `--with-doc' را ببینید.

OPAMWITHTEST گزینه نصب `--with-test. را ببینید

OPAMWORKINGDIR گزینه `--working-dir' را ببینید.

OPAMYES گزینه‌های `--yes' و `--confirm-level` را ببینید. متغیر OPAMYES بر OPAMNO اولویت دارد و در صورت تنظیم بودن OPAMCONFIRMLEVEL نادیده گرفته می‌شود.

OPAMVAR_var محتویات متغیر var را هنگام جایگزینی رشته‌های `%{var}%` در فایل‌های `opam` بازنویسی می‌کند.

OPAMVAR_package_var محتویات متغیر package:var را هنگام جایگزینی رشته‌های `%{package:var}%` در فایل‌های `opam` بازنویسی می‌کند..SH "نسخه خط فرمان (CLI VERSION)"

همه اسکریپت‌ها و فراخوانی‌های برنامه‌نویسی‌شده opam باید از `--cli' استفاده کنند تا از کارکرد یکپارچه آن‌ها با نسخه‌های آینده کلاینت opam اطمینان حاصل شود. علاوه‌براین، پست‌های وبلاگ یا سایر مستندات نیز می‌توانند از آن بهره‌مند شوند، زیرا از قدیمی و نامعتبر شدن اطلاعات جلوگیری می‌کند.

اگرچه opam فقط از ریشه‌های (~/.opam/) برای نسخه فعلی پشتیبانی می‌کند، اما سازگاری با نسخه‌های پیشین را برای رابط خط فرمان خود فراهم می‌آورد.

از آنجا که پشتیبانی از نسخه CLI تنها در opam 2.1 اضافه شد، برای انتخاب پشتیبانی از 2.0 از OPAMCLI استفاده کنید (چرا که opam 2.0 صرفاً آن را نادیده می‌گیرد)، و برای نسخه‌های 2.1 (یا جدیدتر) از `--cli=2.1' استفاده نمایید، زیرا متغیر محیطی کنترل‌کننده تجزیه نحو شکننده و آسیب‌پذیر است. بدین منظور، opam در صورتی که OPAMCLI نسخه‌ای معتبر غیر از 2.0 را مشخص کرده باشد، و همچنین در صورت مشخص شدن `--cli=2.0'، هشداری نمایش می‌دهد.

نسخه خط فرمان با استفاده از گزینه `--cli' یا متغیر محیطی OPAMCLI انتخاب می‌شود. گزینه `--cli' ممکن است بیش از یک بار مشخص شود که در این حالت آخرین مورد اولویت دارد. متغیر OPAMCLI تنها در صورتی بررسی می‌شود که `--cli' داده نشده باشد.

به‌عنوان استثنایی بر موارد زیر، دستور `exec' در صورتی که دستور پیدا نشود یا قابل اجرا نباشد مقدار 127، و در غیر این صورت مقدار خروج همان دستور را بازمی‌گرداند.

0
موفقیت، یا درست (true) برای پرس‌وجوهای بولی.
1
نادرست (False). هنگامی که یک مقدار بازگشتی بولی انتظار می‌رود، برای مثال هنگام اجرا با --check، یا برای پرس‌وجوهایی مانند opam lint بازگردانده می‌شود.
2
آرگومان‌های نامعتبر خط فرمان، یا آرگومان‌های خط فرمان که به یک زمینه (context) نامعتبر اشاره دارند (به عنوان مثال فایلی که از قالب مورد انتظار پیروی نمی‌کند).
5
یافت نشد. شما چیزی (بسته، نسخه، مخزن و غیره) درخواست کرده‌اید که پیدا نشد.
10
لغو شد. عملیات نیاز به تأیید داشت که داده نشد.
15
امکان دریافت قفل‌های مورد نیاز برای عملیات وجود نداشت.
20
هیچ راه‌حلی برای درخواست کاربر وجود ندارد. این حالت می‌تواند به عنوان مثال به دلیل درخواست نصب دو بسته ناسازگار رخ دهد.
30
خطا در تعریف بسته، یا سایر فایل‌های متاداده. استفاده از --strict این خطا را با احتمال بیشتری ایجاد می‌کند.
31
خطای اسکریپت بسته. برخی از عملیات‌های بسته ناموفق بودند. این ممکن است ناشی از خطایی در بسته‌ها یا ناسازگاری با سیستم شما باشد. این خطا می‌تواند یک خطای جزئی باشد.
40
خطای همگام‌سازی. دریافت برخی از ریموت‌ها از شبکه امکان‌پذیر نبود. این خطا می‌تواند یک خطای جزئی باشد.
50
خطای پیکربندی. پیکربندی سیستم یا opam اجازه اجرای عملیات را نمی‌دهد و نیاز به اصلاح دارد.
60
شکست حل‌کننده (solver). حل‌کننده موفق به بازگرداندن پاسخی معتبر نشد. این می‌تواند به دلیل خرابی حل‌کننده خارجی یا خطایی در پیکربندی حل‌کننده باشد.
99
خطای داخلی. مشکلی پیش آمد که احتمالاً ناشی از یک باگ در خود opam است.
130
وقفه توسط کاربر. سیگنال SIGINT دریافت شد، که معمولاً به دلیل فشردن کلیدهای Ctrl-C توسط کاربر است.
0
در صورت موفقیت.
123
در صورت بروز خطاهای نامشخص گزارش‌شده روی خروجی خطای استاندارد.
124
در صورت بروز خطاهای تجزیه خط فرمان.
125
در صورت بروز خطاهای داخلی غیرمنتظره (باگ‌ها).

به https://opam.ocaml.org/doc مراجعه کنید.

David Allsopp <david@tarides.com>

Vincent Bernardoff <vb@luminar.eu.org>

Raja Boujbel <raja.boujbel@ocamlpro.com>

Kate Deplaix <kit-ty-kate@outlook.com>

Roberto Di Cosmo <roberto@dicosmo.org>

Thomas Gazagnaire <thomas@gazagnaire.org>

Louis Gesbert <louis.gesbert@ocamlpro.com>

Fabrice Le Fessant <Fabrice.Le_fessant@inria.fr>

Anil Madhavapeddy <anil@recoil.org>

Guillem Rieu <guillem.rieu@ocamlpro.com>

Ralf Treinen <ralf.treinen@pps.jussieu.fr>

Frederic Tuong <tuong@users.gforge.inria.fr>

opam(1)

گزارش‌های باگ را در https://github.com/ocaml/opam/issues بررسی کنید.

Opam 2.5.2