OPAM ADMIN-UPGRADE(1) Opam admin Manual OPAM ADMIN-UPGRADE(1)

opam admin-upgrade - ارتقای مخازن از نسخه‌های قدیمی‌تر opam

opam admin upgrade [--clear-cache] [--mirror=URL] [OPTION]…

این دستور مخازن مربوط به نسخه‌های قبلی opam را خوانده و آن‌ها را به مخازنی سازگار با نسخه فعلی opam تبدیل می‌کند. ممکن است بسته‌ها ایجاد یا تغییر نام داده شوند، و هر کامپایلری که در قالب قدیمی (دایرکتوری 'compilers/') تعریف شده باشد، با استفاده از یک سلسله‌مراتب از پیش تعریف‌شده که فرض را بر کامپایلرهای OCaml می‌گذارد، به بسته تبدیل خواهد شد.

--clear-cache
به‌جای اجرای ارتقا، حافظه موقت (کَش) هَش‌های آرشیو (نگه‌داری‌شده در ~/.cache) را پاک می‌کند که برای جلوگیری از بارگیری مجدد فایل‌ها جهت محاسبه هَش آن‌ها در هر بار اجرا استفاده می‌شود.
-m URL, --mirror=URL
مخزن فعلی را بازنویسی نمی‌کند، بلکه یک آینه (mirror) ارتقایافته را در یک زیرشاخه همراه با تغییرمسیرهای مناسب قرار می‌دهد. به نشانی URL که مخزن از آن ارائه خواهد شد نیاز دارد تا در تغییرمسیرها قرار دهد (نسخه‌های قدیمی‌تر opam تغییرمسیرهای نسبی را متوجه نمی‌شوند).

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

--best-effort
در صورتی که امکان نصب تمام بسته‌های درخواستی وجود نداشته باشد، با شکست متوقف نشو: تا جای ممکن بیشترین تعداد بسته را نصب کن. توجه داشته باشید که ممکن است همه حل‌کننده‌های خارجی از این گزینه پشتیبانی نکنند (نسخه‌های اخیر aspcud یا mccs باید پشتیبانی کنند). این گزینه معادل مقداردهی متغیر محیطی $OPAMBESTEFFORT است.
--cli=MAJOR.MINOR (absent=2.5)
استفاده از قواعد و معناشناسی رابط خط فرمان MAJOR.MINOR. این گزینه برای هرگونه استفاده پایدار از opam (اسکریپت‌ها، پست‌های وبلاگ و غیره) در نظر گرفته شده است؛ هر نسخه‌ای از opam در همان سری MAJOR مانند نگارش MINOR تعیین‌شده رفتار خواهد کرد. این پرچم در opam 2.0 در دسترس نبود، بنابراین برای انتخاب رابط خط فرمان 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
تعیین ترجیحات کاربر برای حل وابستگی‌ها در این اجرا. مقادیر $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 آن را روی 1 تنظیم می‌کند). معادل تنظیم $OPAMDEBUG بر روی یک عدد صحیح مثبت است.
--git-version
چاپ نسخه git برنامه opam، در صورت تنظیم بودن (یعنی در حال استفاده از یک نسخه توسعه هستید)، و خروج.
--help[=FMT] (default=auto)
نمایش این راهنما در قالب FMT. مقدار FMT باید یکی از مقادیر auto، pager، groff یا plain باشد. با انتخاب auto، در صورتی که متغیر محیطی TERM روی dumb تنظیم شده یا تعریف نشده باشد، قالب به صورت pager یا plain خواهد بود.
--ignore-pin-depends
نادیده گرفتن پین‌های اضافی مورد نیاز بسته‌هایی که پین می‌شوند، چه به صورت دستی از طریق opam pin یا از طریق opam install DIR. این معادل تنظیم IGNOREPINDEPENDS=true است.
--json=FILENAME
ذخیره نتایج اجرای opam در یک فایل قابل خواندن توسط رایانه. اگر نام فایل شامل نویسه `%' باشد، با شناسه‌ای جایگزین می‌شود که مانع از بازنویسی فایل موجود گردد. مشابه مقداردهی متغیر $OPAMJSON است.
--no
پاسخ منفی (خیر) به تمام پرسش‌های بله/خیر opam بدون درخواست از کاربر. گزینه --confirm-level را نیز ببینید. این معادل تنظیم $OPAMNO بر روی "true" است.
--no-aspcud
در 2.1 حذف شد.
--no-auto-upgrade
هنگام پیکربندی یا به‌روزرسانی مخزنی که برای نسخه پیشین opam (نسخه 1.2) ایجاد شده است، opam به صورت درونی آن را به قالب فعلی تبدیل می‌کند. این گزینه این رفتار را غیرفعال می‌کند. توجه داشته باشید که مخازن باید نسخه قالب خود را در یک فایل 'repo' در ریشه خود تعریف کنند، در غیر این صورت فرض می‌شود که در قالب قدیمی هستند. در هر صورت، ارتقای دستی مخازن با استفاده از opam admin upgrade [--mirror URL] در صورت امکان ترجیح داده می‌شود.
-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) یا ارجاعی (ref) که به آن اشاره دارند، به وضعیت کاری فعلی منبع آن‌ها به‌روزرسانی می‌کند. از آنجا که دایرکتوری منبع به همان شکل کپی می‌شود، تمیز نبودن آن ممکن است به شکست ساخت opam منجر شود. این گزینه فقط بر بسته‌هایی تأثیر می‌گذارد که صریحاً در خط فرمان فهرست شده‌اند. همچنین می‌تواند از طریق $OPAMWORKINGDIR تنظیم شود.
-y, --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 ترجیحات کاربر برای حل وابستگی‌ها را مشخص می‌کند. مقدار پیش‌فرض به نسخه حل‌کننده بستگی دارد؛ برای اطلاع از مقدار فعلی از `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. این روش روی سیستم‌فایل‌هایی که در پیمایش درخت‌های بزرگ ضعیف هستند ولی حافظه موقت خوبی در /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' باشد اتمام مهلت زمانی منجر به خطا می‌شود. در حال حاضر فقط بخش پشتیبان 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 ترجیحات کاربر برای حل وابستگی‌ها هنگام ارتقا را تعیین می‌کند. در صورت تنظیم هر دو، هنگام ارتقا متغیر 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' بهره بگیرید، زیرا استفاده از یک متغیر محیطی برای کنترل تجزیه نحو شکننده و ناپایدار است. بدین منظور، اگر OPAMCLI نسخه معتبری غیر از 2.0 را مشخص کند، و همچنین اگر `--cli=2.0' تعیین شده باشد، opam یک هشدار نمایش می‌دهد.

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

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

0
موفقیت، یا مقدار درست (true) برای پرس‌وجوهای بولی.
1
نادرست (False). زمانی بازگردانده می‌شود که یک مقدار بولی انتظار می‌رود، برای مثال هنگام اجرا با --check، یا برای پرس‌وجوهایی مانند opam lint.
2
آرگومان‌های خط فرمان نادرست، یا آرگومان‌های خط فرمانی که به زمینه‌ای نامعتبر اشاره دارند (مانند فایلی که از قالب مورد انتظار پیروی نمی‌کند).
5
یافت نشد. چیزی (بسته، نسخه، مخزن و غیره) درخواست شد که پیدا نشد.`
10
لغو شد. عملیات نیازمند تأیید بود که داده نشد.
15
امکان دریافت قفل‌های لازم برای عملیات وجود نداشت.
20
هیچ راه‌حلی برای درخواست کاربر وجود ندارد. برای مثال، این می‌تواند ناشی از درخواست نصب دو بسته ناسازگار با یکدیگر باشد.
30
خطا در تعریف بسته یا سایر فایل‌های فراداده (metadata). استفاده از --strict این خطا را بیشتر برمی‌انگیزد.
31
خطای اسکریپت بسته. برخی از عملیات بسته ناموفق بودند. این ممکن است به دلیل خطایی در بسته‌ها یا ناسازگاری با سیستم شما باشد. این می‌تواند یک خطای جزئی باشد.
40
خطای همگام‌سازی. امکان دریافت برخی از ریموت‌ها از شبکه وجود نداشت. این می‌تواند یک خطای جزئی باشد.
50
خطای پیکربندی. پیکربندی opam یا سیستم اجازه انجام عملیات را نمی‌دهد و نیازمند اصلاح است.
60
شکست در حل وابستگی‌ها (Solver failure). حل‌کننده نتوانست پاسخی معتبر بازگرداند. این مشکل می‌تواند ناشی از یک حل‌کننده خارجی معیوب یا خطایی در پیکربندی حل‌کننده باشد.
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 admin(1)

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

Opam admin 2.5.2