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

opam-upgrade - ارتقای بسته‌های نصب‌شده به آخرین نسخه

opam upgrade [گزینه‌ها]… [بسته‌ها]…

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

اگر یک دایرکتوری به عنوان آرگومان مشخص شود، هر آنچه که به آن دایرکتوری پین (pin) شده باشد برای ارتقا انتخاب می‌شود.

فهرستی از نام بسته‌ها با نسخه اختیاری یا قید محدودیت، مانند `pkg`، `pkg.1.0` یا `pkg>=0.5`؛ یا نام دایرکتوری‌های حاوی توصیف بسته با دایرکتوری صریح (مانند `srcdir/.` یا `.`).

-a, --all
اجرای ارتقا برای تمام بسته‌های نصب‌شده. اگر PACKAGES مشخص نشده باشد، این حالت پیش‌فرض است، و می‌تواند در ترکیب با PACKAGES برای ارتقا همراه با اطمینان از نصب شدن یا ماندن برخی بسته‌ها مفید باشد.
--check
ارتقا را اجرا نکنید؛ فقط بررسی کنید که آیا چیزی قابل ارتقا هست یا خیر. در صورتی که بسته‌ای قابل ارتقا باشد مقدار 0 و اگر چیزی برای ارتقا وجود نداشته باشد مقدار 1 برمی‌گرداند.
--fixup
بازیابی از وضعیت خراب (مانند وابستگی‌های مفقود، دو بسته ناسازگار نصب‌شده هم‌زمان و غیره).
--formula=FORMULA (absent=[])
آزمایشی. تعیین یک فرمول وابستگی برای اعتبارسنجی توسط راه‌حل، علاوه بر ناوردای سوییچ (switch invariant). قالب آن همانند بیان وابستگی‌ها در فایل‌های تعریف بسته است، برای مثال '"foo" {>= "1.1"}'.
--installed
هنگامی که یک دایرکتوری به عنوان آرگومان ارائه می‌شود، بسته‌های پین‌شده‌ای که هنوز نصب نشده‌اند نصب نشوند.
--recursive
اجازه جستجوی بازگشتی فایل‌های *.opam داده شود. همچنین به --subpath مراجعه کنید.
--subpath=PATH
فایل‌های *.opam به جای دایرکتوری ریشه از زیردایرکتوری داده‌شده بازیابی می‌شوند. سپس کد مبدأ از زیردایرکتوری هدف گرفته می‌شود، و در داخل فقط این زیردایرکتوری کپی/واکشی می‌گردد. می‌تواند با --recursive ترکیب شود تا جستجوی بازگشتی روی زیرمسیر انجام پذیرد.

--assume-depexts
از مرحله نصب برای بسته‌های سیستمی مفقود صرف‌نظر کرده و در هر صورت کامپایل بسته‌های opam ادامه یابد. در صورت موفقیت‌آمیز بودن نصب، opam دیگر درباره این بسته‌های سیستمی پیامی نمایش نخواهد داد. این گزینه تنها در صورت فعال بودن مدیریت وابستگی‌های خارجی معنادار است.
-b, --keep-build-dir
نگهداری دایرکتوری‌های ساخت پس از کامپایل بسته‌ها. این معادل تنظیم $OPAMKEEPBUILDDIR روی "true" است.
--build-doc
در نسخه 2.1 حذف شد، به جای آن از --with-doc استفاده کنید.
--build-test
در نسخه 2.1 حذف شد، به جای آن از --with-test استفاده کنید.
-d, --with-doc
ساخت مستندات بسته. این گزینه فقط بر بسته‌های مشخص‌شده در خط فرمان تأثیر می‌گذارد. این معادل تنظیم $OPAMWITHDOC (یا گزینه منسوخ‌شده $OPAMBUILDDOC) روی "true" است.
--dry-run
شبیه‌سازی دستور، بدون اعمال هیچ‌گونه تغییر واقعی. همچنین می‌تواند با متغیر محیطی $OPAMDEBUG تنظیم شود.
--fake
این گزینه عملیات را در پایگاه‌داده opam ثبت می‌کند بدون اینکه عملاً آن‌ها را انجام دهد. هشدار: این گزینه خطرناک است و احتمال خراب شدن محیط opam شما وجود دارد. شما احتمالاً به --dry-run نیاز دارید. به شما هشدار داده شد.
--ignore-constraints-on[=PACKAGES] (default=)
نرم‌افزار opam را مجبور می‌کند که محدودیت‌های نسخه را روی تمام وابستگی‌های بسته‌های فهرست‌شده نادیده بگیرد. این گزینه را می‌توان برای آزمایش سازگاری به کار برد، اما در هنگام استفاده انتظار شکست در ساخت را داشته باشید. توجه داشته باشید که موجود بودن بسته‌ها و همچنین محدودیت‌های نسخه روی وابستگی‌های اختیاری و تعارض‌ها تحت تأثیر قرار نمی‌گیرند. این معادل تنظیم $OPAMIGNORECONSTRAINTS است.
--inplace-build
هنگام کامپایل بسته‌ای که منبع آن به یک دایرکتوری محلی متصل است، عملیات ساخت و نصب را مستقیماً در همان دایرکتوری انجام دهید، نه در یک رونوشت تمیز که توسط opam مدیریت می‌شود. این گزینه فقط بر بسته‌هایی اثر می‌گذارد که صریحاً در خط فرمان فهرست شده‌اند. این معادل تنظیم $OPAMINPLACEBUILD روی "true" است.
-j JOBS, --jobs=JOBS
تعیین حداکثر تعداد کارهای همزمان برای اجرا. مقدار پیش‌فرض بر اساس تعداد هسته‌ها محاسبه می‌شود. همچنین می‌توانید آن را با متغیر محیطی $OPAMJOBS تنظیم کنید.
--lock-suffix=SUFFIX (absent=locked)
تنظیم پسوند فایل‌های قفل‌شده روی SUFFIX.
--locked
در دستوراتی که از فایل‌های opam حاصل از منابع پین‌شده استفاده می‌کنند، در صورتی که نسخه‌ای از فایل با پسوند افزوده .locked یافت شود (مانند foo.opam.locked در کنار foo.opam)، از آن استفاده خواهد شد. این گزینه برای ارائه مجموعه‌ای مشخص‌تر از وابستگی‌ها و بازتولید شرایط یکسان ساخت بسیار سودمند است. از گزینه lock می‌توان برای تولید این فایل‌ها بر پایه نسخه‌های وابستگی‌های فعلی نصب‌شده روی میزبان استفاده کرد. این معادل تنظیم متغیر محیطی $OPAMLOCKED است. توجه داشته باشید که این گزینه معمولاً بر بسته‌هایی که پیش‌تر پین شده‌اند تأثیری ندارد.
-m MAKE, --make=MAKE
در نسخه 2.1 حذف شد، به جای آن از opam config set[-global] make MAKE استفاده کنید.
--no-checksums
چک‌سام (checksum) آرشیوهای بارگیری‌شده بررسی نشود. این معادل تنظیم $OPAMNOCHECKSUMS روی "true" است.
--no-depexts
مدیریت وابستگی‌های خارجی را به‌طور موقت غیرفعال می‌کند. این گزینه زمانی کاربرد دارد که بسته‌ای در مدیر بسته سیستم‌عامل شما موجود نباشد، اما وابستگی لازم را دستی نصب کرده باشید. این گزینه به طور ضمنی --assume-depexts را فعال می‌کند و موارد استثنا را نیز در صورت موفقیت ذخیره می‌نماید.
--require-checksums
رد کردن نصب بسته‌هایی که برای آرشیوهای بالادست خود چک‌سام ارائه نمی‌دهند. این معادل تنظیم $OPAMREQUIRECHECKSUMS روی "true" است.
--reuse-build-dir
استفاده مجدد از دایرکتوری‌های ساخت موجود (که با استفاده از --keep-build-dir نگه داشته شده‌اند)، به جای کامپایل از یک کلون تازه از سورس. این روش می‌تواند سریع‌تر باشد، اما اگر سیستم‌های ساخت بسته‌ها ارتقای وابستگی‌ها را به درستی پشتیبانی نکنند ممکن است به خطا بیانجامد. این معادل تنظیم $OPAMREUSEBUILDDIR روی "true" است.
--show-actions
فراخوانی حل‌کننده و نمایش اقدامات. هیچ تغییری اعمال نشود. این معادل تنظیم $OPAMSHOW است.
--skip-updates
هنگام اجرای نصب، ارتقا یا نصب مجدد بسته‌های پین‌شده به سورس، معمولاً ابتدا از مبدأ به‌روزرسانی می‌شوند. این فلگ این رفتار را غیرفعال کرده و نسخه آن‌ها را در حافظه پنهان نگه می‌دارد. این معادل تنظیم $OPAMSKIPUPDATE است.
-t, --with-test
ساخت و اجرای آزمون‌های واحد (unit-tests) بسته. این گزینه فقط بر بسته‌های مشخص‌شده در خط فرمان اثر می‌گذارد. این معادل تنظیم $OPAMWITHTEST (یا گزینه منسوخ‌شده $OPAMBUILDTEST) روی "true" است.
--unlock-base
در نسخه 2.1 حذف شد، به جای آن از --update-invariant استفاده کنید.
--update-invariant
اجازه اعمال تغییرات روی بسته‌های تنظیم‌شده به عنوان پایه سوییچ (معمولاً کامپایلر اصلی). با احتیاط استفاده شود. این معادل تنظیم متغیر محیطی $OPAMUNLOCKBASE است.
--verbose-on=PACKAGES
نمایش خروجی با جزئیات بیشتر برای بسته‌های مشخص. این معادل تنظیم $OPAMVERBOSE است.
--with-dev-setup
شامل کردن وابستگی‌های مختص به ابزارهای توسعه.

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

--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 آن را روی 1 تنظیم می‌کند). معادل تنظیم $OPAMDEBUG روی یک عدد صحیح مثبت است.
--git-version
چاپ نسخه گیت 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] در صورت امکان ارجح است.
--no-self-upgrade
نرم‌افزار opam در صورت وجود، خود را با باینری جدیدتری که در OPAMROOT/opam پیدا شود جایگزین می‌کند. این گزینه این رفتار را غیرفعال می‌کند.
-q, --quiet
غیرفعال کردن --verbose.
--root=ROOT
استفاده از ROOT به عنوان مسیر ریشه فعلی. این معادل تنظیم $OPAMROOT روی ROOT است.
--safe, --readonly
اطمینان از اینکه هیچ چیزی به طور خودکار به‌روزرسانی یا بازنویسی نخواهد شد. برای فراخوانی از اسکریپت‌های تکمیل خودکار بسیار مناسب است. هرگاه چنین عملیاتی مورد نیاز باشد با خطا مواجه خواهد شد؛ همچنین از انتظار برای قفل‌ها اجتناب می‌کند، پرسش‌های تعاملی را رد کرده و متغیر $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
پاسخ مثبت (بله) به تمام سؤالات بله/خیر 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 اعلام می‌کند که برخی گزارش‌های موقت دستورات و پشتیبان‌ها را حذف نکند. این کار بعضی فرآیندهای پایانی را رد می‌کند و ممکن است به دریافت ردگیری پشته (backtrace) مطمئن‌تر کمک کند.

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

OPAMLOGS logdir دایرکتوری لاگ‌ها را تنظیم می‌کند، پیش‌فرض دایرکتوری موقت در tmp/ است.

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

OPAMMERGEOUT ادغام خروجی‌های فرایند، خروجی خطای استاندارد (stderr) روی خروجی استاندارد (stdout).

OPAMNO پاسخ خیر به هر پرسش مطرح‌شده، به گزینه‌های `--no` و `--confirm-level` مراجعه کنید. در صورت تنظیم OPAMCONFIRMLEVEL یا OPAMYES، این متغیر نادیده گرفته می‌شود.

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 تنظیم روی false برای غیرفعال کردن پیش‌پردازش CUDF. بهره‌وری کمتری دارد، اما ممکن است به اشکال‌زدایی مسائل حل‌کننده کمک کند.

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`) به برخی حل‌کننده‌ها اجازه می‌دهد در صورت رسیدن به مهلت زمانی باز هم پاسخی ارائه دهند؛ اگرچه تضمین می‌شود راه‌حل پایدار بماند، اما هیچ تضمینی برای بهینه بودن آن طبق معیارهای مورد انتظار وجود ندارد. اگر `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 تعیین ترجیحات (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}%` در فایل‌های `opam`، محتوای متغیر var را بازنویسی می‌کند.

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

تمامی اسکریپت‌ها و فراخوانی‌های برنامه‌نویسی‌شده 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
خطا در تعریف بسته یا سایر فایل‌های متادیتا. استفاده از --strict بروز این خطا را محتمل‌تر می‌کند.
31
خطای اسکریپت بسته. برخی از عملیات بسته ناموفق بودند. این ممکن است خطایی در خود بسته‌ها یا ناشی از ناسازگاری با سیستم شما باشد. این می‌تواند یک خطای جزئی باشد.
40
خطای همگام‌سازی. واکشی برخی از ریموت‌ها از شبکه با شکست مواجه شد. این می‌تواند یک خطای جزئی باشد.
50
خطای پیکربندی. پیکربندی سیستم یا opam اجازه انجام عملیات را نمی‌دهد و نیاز به رفع اشکال دارد.
60
شکست حل‌کننده. حل‌کننده نتوانست پاسخی معتبر ارائه دهد. این می‌تواند ناشی از خراب بودن حل‌کننده خارجی یا خطایی در تنظیمات آن باشد.
99
خطای داخلی. مشکلی پیش آمده است که احتمالاً به دلیل وجود باگ در خود opam است.
130
وقفه توسط کاربر. سیگنال SIGINT دریافت شد، معمولاً به دلیل فشردن کلیدهای Ctrl-C توسط کاربر.
0
در صورت موفقیت.
123
در صورت بروز خطاهای نامشخص گزارش‌شده در خروجی استاندارد خطا (stderr).
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