.\" Pipe this output to groff -m man -K utf8 -T utf8 | less -R .\" .mso an.tmac .TH "OPAM-SWITCH" 1 "" "Opam 2.5.2" "Opam Manual" .\" Disable hyphenation and ragged-right .nh .ad l .SH "نام (NAME)" .P opam\-switch \- مدیریت پیشوندهای نصب چندگانه .SH "خلاصه دستور (SYNOPSIS)" .P \fBopam switch\fR [\fIOPTION\fR]… [\fICOMMAND\fR] [\fIARG\fR]… .SH "توضیحات (DESCRIPTION)" .P این دستور برای مدیریت «switch»ها به‌کار می‌رود؛ پیشوندهای نصب مستقلی که کامپایلر و مجموعه‌های بستهٔ نصب‌شده و پین‌شدهٔ (pinned) مختص به خود را دارند\N'46' این قابلیت معمولاً برای در دسترس داشتن هم‌زمان نسخه‌های مختلف کامپایلر مفید است\N'46' .P برای ایجاد یک switch جدید از \fBopam switch create\fR، و برای تنظیم switch فعالِ کنونی از \fBopam switch set\fR استفاده کنید\N'46' بدون آرگومان، فهرست switchهای نصب‌شده را نمایش می‌دهد و در صورت داشتن یک آرگومان switch، به‌طور پیش‌فرض به \fBset\fR عمل می‌کند\N'46' .P شناسه یا نام \fISWITCH\fR می‌تواند یک نام ساده باشد (برای switchهایی که درون \fI~/\N'46'opam\fR نگهداری می‌شوند)، یا یک نام دایرکتوری باشد که در این صورت دایرکتوری‌ای خواهد بود که پیشوند switch در آن، به‌عنوان _opam، نصب می‌شود\N'46' چنانچه \fIOPAMSWITCH\fR تنظیم نشده باشد یا \fB\N'45'\N'45'switch\fR مشخص نگردد، Opam به‌طور خودکار switchای با این نام را که در دایرکتوری جاری یا والدهای آن یافت شود، انتخاب خواهد کرد\N'46' هنگام ایجاد یک switch دایرکتوری، در صورتی که تعاریف بسته به‌صورت محلی یافت شوند، پس از ایجاد switch به‌طور خودکار از کاربر برای نصب آن‌ها درخواست تایید می‌شود مگر اینکه \fB\N'45'\N'45'no\N'45'install\fR مشخص شده باشد\N'46' .P دستور \fBopam switch set\fR switch پیش‌فرض را به‌صورت سراسری تنظیم می‌کند\N'46' هوک شل (shell hook)، در صورت فعال بودن، نشست شل فعلی را با این switch همگام می‌سازد، مگر اینکه دایرکتوری جاری یک switch محلی باشد که در آن صورت از آن switch محلی استفاده خواهد شد\N'46' همیشه می‌توانید از \fIeval $(opam env \N'45'\N'45'switch=SWITCH \N'45'\N'45'set\N'45'switch)\fR برای مشخص کردن صریح switch استفاده کنید که هوک شل را بازنویسی (override) می‌کند\N'46' .SH "دستورها (COMMANDS)" .P بدون آرگومان، پیش‌فرض \fBlist\fR است\N'46' .TP 4 \fISWITCH\fR همراه با یک آرگومان \fISWITCH\fR، به‌طور پیش‌فرض به \fBset\fR \fISWITCH\fR عمل می‌کند\N'46' .TP 4 \fI\N'45'\fR به switch غیرمحلی قبلی بازمی‌گردد (مشابه \fBgit switch \N'45'\fR)\N'46' برای تنظیم switch کنونی روی یک switch با نام \fI\N'45'\fR از \fB\N'45'\N'45'cli=2\N'46'1\fR یا پایین‌تر استفاده کنید، یا از \fBopam switch set \N'45'\fR استفاده نمایید\N'46' .TP 4 \fBcreate\fR \fISWITCH\fR \fI[COMPILER]\fR یک switch جدید ایجاد می‌کند و کامپایلر ارائه‌شده را در آن نصب می‌نماید\N'46' آرگومان \fISWITCH\fR می‌تواند یک نام ساده باشد یا یک دایرکتوری (مطلق یا نسبی)، که در این صورت یک switch محلی در زیر دایرکتوری مشخص‌شده ایجاد می‌شود\N'46' در صورت حذف \fICOMPILER\fR، چنانچه \fISWITCH\fR یک نام ساده باشد، پیش‌فرض آن مقدار \fISWITCH\fR خواهد بود، مگر اینکه \fB\N'45'\N'45'packages\fR، \fB\N'45'\N'45'formula\fR یا \fB\N'45'\N'45'empty\fR مشخص شده باشند\N'46' هنگام ایجاد یک switch محلی، و در صورت نبود هیچ‌یک از این گزینه‌ها، کامپایلر بر اساس پیش‌فرض پیکربندی انتخاب می‌شود (ببینید opam\N'45'init(1))\N'46' اگر دایرکتوری انتخابی شامل تعاریف بسته باشد، یک کامپایلر سازگار در میان گزینه‌های پیش‌فرض جستجو شده و بسته‌ها به‌طور خودکار نصب خواهند شد\N'46' .TP 4 \fBset\fR \fISWITCH\fR تنظیم switch فعالِ کنونی از میان switchهای نصب‌شده\N'46' .TP 4 \fBremove\fR \fISWITCH\fR حذف switch مشخص‌شده از روی دیسک\N'46' .TP 4 \fBexport\fR \fIFILE\fR ذخیرهٔ وضعیت switch کنونی در یک فایل\N'46' اگر \fB\N'45'\N'45'full\fR مشخص شده باشد، متادیتای تمام بسته‌های نصب‌شده را شامل می‌شود، و اگر \fB\N'45'\N'45'freeze\fR مشخص شده باشد، تمام vcsها را در کامیت کنونی‌شان منجمد می‌کند\N'46' .TP 4 \fBimport\fR \fIFILE\fR وارد کردن (import) وضعیتِ ذخیره‌شدهٔ یک switch\N'46' اگر \fB\N'45'\N'45'switch\fR مشخص شده باشد و به یک switch موجود اشاره نکند، آن switch برای واردسازی ایجاد خواهد شد\N'46' .TP 4 \fBreinstall\fR \fI[SWITCH]\fR نصب مجدد switch کامپایلر مشخص‌شده و تمام بسته‌های آن\N'46' .TP 4 \fBlist\fR فهرست کردن switchهای نصب‌شده\N'46' .TP 4 \fBlist\N'45'available\fR \fI[PATTERN]\fR فهرست کردن تمام بسته‌های ممکنی که هنگام ایجاد یک switch جدید نصب آن‌ها توصیه می‌شود، یعنی بسته‌هایی با پرچم \fIcompiler\fR تنظیم‌شده\N'46' اگر هیچ الگویی ارائه نشود، تمام نسخه‌ها نمایش داده می‌شوند\N'46' به‌طور پیش‌فرض، بسته‌های پرچم‌گذاری‌شده با \fIavoid\N'45'version\fR یا \fIdeprecated\fR نمایش داده نمی‌شوند مگر اینکه \fB\N'45'\N'45'all\fR داده شده باشد\N'46' .TP 4 \fBshow\fR چاپ نام switch کنونی\N'46' .TP 4 \fBinvariant\fR چاپ پایا (invariant) switch فعال\N'46' .TP 4 \fBset\N'45'invariant\fR \fIPACKAGES\fR به‌روزرسانی پایا (invariant) switch؛ یعنی فرمولی که switch باید در طول تمام عملیات‌ها معتبر بودن آن را حفظ کند\N'46' تنظیمات قبلی بازنویسی می‌شود\N'46' همچنین گزینه‌های \fB\N'45'\N'45'force\fR و \fB\N'45'\N'45'no\N'45'action\fR را ببینید\N'46' بدون آرگومان، یک پایا (invariant) به‌طور خودکار انتخاب می‌شود\N'46' .TP 4 \fBset\N'45'description\fR \fISTRING\fR تنظیم توضیحات برای switch انتخابی\N'46' .TP 4 \fBlink\fR \fISWITCH\fR \fI[DIR]\fR تنظیم یک نام مستعار محلی برای یک switch مشخص، تا هر زمان که در آن دایرکتوری یا زیرشاخه‌های آن قرار گرفتید، این switch به‌طور خودکار انتخاب شود\N'46' .TP 4 \fBinstall\fR \fISWITCH\fR در نسخهٔ \fB2\N'46'1\fR حذف شد، به‌جای آن از \fIcreate\fR استفاده کنید\N'46' .TP 4 \fBset\N'45'base\fR \fIPACKAGES\fR در نسخهٔ \fB2\N'46'1\fR حذف شد، به‌جای آن از \fIset\N'45'invariant\fR استفاده کنید\N'46' .SH "مثال‌ها (EXAMPLES)" .P .nf opam switch create 4\N'46'08\N'46'0 .fi .P ایجاد یک switch جدید به نام «4\N'46'08\N'46'0» و انتخاب آن، همراه با کامپایلری که به‌طور خودکار روی نسخهٔ 4\N'46'08\N'46'0 انتخاب می‌شود (توجه داشته باشید که در صورت وجود بیش از یک کامپایلر منطبق با آن نسخه، این عمل ممکن است با شکست مواجه شود)\N'46' .P .nf opam switch create \N'46'/ \N'45'\N'45'deps\N'45'only .fi .P آماده‌سازی یک switch محلی برای ساخت بسته‌های تعریف‌شده در \fI\N'46'/\fR\N'46' این دستور دایرکتوری فعلی را برای تعاریف بسته پویش کرده، یک کامپایلر سازگار را انتخاب می‌کند، یک switch محلی می‌سازد و وابستگی‌های بستهٔ محلی را نصب می‌کند\N'46' .P .nf opam switch create trunk \N'45'\N'45'repos default,beta=https://github\N'46'com/ocaml/ocaml\N'45'beta\N'45'repository\N'46'git ocaml\N'45'variants\N'46'4\N'46'10\N'46'0+trunk .fi .P ایجاد یک switch جدید به نام «trunk»، با \fBocaml\N'45'variants\N'46'4\N'46'10\N'46'0+trunk\fR به‌عنوان کامپایلر، همراه با یک مخزن جدید \fIbeta\fR متصل به URL ارائه‌شده که در کنار مخزن پیش‌فرض انتخاب شده است\N'46'.SH "گزینه‌ها (OPTIONS)" .TP 4 \fB\N'45'A\fR \fICOMP\fR, \fB\N'45'\N'45'alias\N'45'of\fR=\fICOMP\fR در \fB2\N'46'1\fR حذف شد\N'46' .TP 4 \fB\N'45'\N'45'all\fR فقط برای \fIlist\N'45'available\fR: نمایش تمام کامپایلرهای موجود، صرف‌نظر از اینکه با پرچم \fIavoid\N'45'version\fR یا \fIdeprecated\fR علامت‌گذاری شده باشند\N'46' .TP 4 \fB\N'45'\N'45'deps\N'45'only\fR هنگام ایجاد یک switch محلی در دایرکتوری پروژه (یعنی دایرکتوری شامل تعاریف بسته‌های opam)، وابستگی‌های پروژه را نصب می‌کند اما خود پروژه را خیر\N'46' هنگام درون‌ریزی (import) یک switch، بسته‌های ریشه را نصب نمی‌کند\N'46' .TP 4 \fB\N'45'\N'45'description\fR=\fISTRING\fR هنگام ایجاد یک switch، توضیحات ارائه‌شده را به آن پیوست می‌کند\N'46' برای تغییر توضیحات یک switch موجود، از زیرفرمان \fIset\N'45'description\fR استفاده کنید\N'46' .TP 4 \fB\N'45'\N'45'empty\fR اجازه ایجاد یک switch خالی بدون هیچ invariant را می‌دهد\N'46' .TP 4 \fB\N'45'\N'45'force\fR فقط برای \fIset\N'45'invariant\fR: اجبار در تنظیم invariant، با دور زدن بررسی‌های سازگاری\N'46' .TP 4 \fB\N'45'\N'45'formula\fR=\fIFORMULA\fR امکان تعیین یک «فرمول وابستگی» کامل، شامل شروط فصلی (disjunction)، را به عنوان invariant سویچ فراهم می‌کند\N'46' قالب آن همانند بیان وابستگی‌ها در فایل‌های تعریف بسته است؛ مانند \N'39'"foo" {>= "1\N'46'1"}\N'39'\N'46' .TP 4 \fB\N'45'\N'45'freeze\fR هنگام برون‌ریزی (export)، تمام نشانی‌های اینترنتی VCS را روی کامیت فعلی‌شان قفل می‌کند و در صورت عدم امکان بازیابی، ناموفق خواهد بود\N'46' این کار تضمین می‌کند که یک درون‌ریزی دقیقاً همان وضعیت را بازگردانی کند\N'46' به طور ضمنی شامل \fB\N'45'\N'45'full\fR است\N'46' .TP 4 \fB\N'45'\N'45'full\fR هنگام برون‌ریزی، متادیتای تمام بسته‌های نصب‌شده را لحاظ می‌کند و امکان درون‌ریزی مجدد آن‌ها را حتی در صورت عدم وجود در مخازن فراهم می‌سازد (حالت پیش‌فرض فقط شامل متادیتای بسته‌های پین‌شده است)\N'46' .TP 4 \fB\N'45'n\fR, \fB\N'45'\N'45'no\N'45'action\fR فقط برای \fIset\N'45'invariant\fR: مقدار invariant را تنظیم می‌کند، اما آن را بلافاصله اعمال نمی‌کند: منتظر فرمان بعدی \fIinstall\fR، \fIupgrade\fR یا مشابه آن می‌ماند\N'46' .TP 4 \fB\N'45'\N'45'no\N'45'autoinstall\fR در \fB2\N'46'1\fR حذف شد\N'46' .TP 4 \fB\N'45'\N'45'no\N'45'install\fR هنگام ایجاد یک switch محلی، برای نصب به دنبال تعاریف بسته محلی نمی‌گردد\N'46' .TP 4 \fB\N'45'\N'45'no\N'45'switch\fR switch‌های تازه نصب‌شده را به‌طور خودکار انتخاب نمی‌کند\N'46' .TP 4 \fB\N'45'\N'45'packages\fR=\fIPACKAGES\fR هنگام نصب یک switch، مجموعه بسته‌ها را به‌طور صریح برای اعمال به عنوان invariant سویچ مشخص می‌کند\N'46' .TP 4 \fB\N'45'\N'45'repositories\fR=\fIREPOS\fR هنگام ایجاد یک switch جدید، از مخازن ارائه‌شده به جای مقدار پیش‌فرض استفاده می‌کند\N'46' آرگومان \fIREPOS\fR باید فهرستی جداشده با کاما از نام مخازن ثبت‌شده قبلی (پیکربندی‌شده برای مثال با \fIopam repository add \N'45'\N'45'dont\N'45'select\fR) یا پیوندهای \fBNAME\fR=\fBURL\fR باشد که در این حالت \fBNAME\fR نباید قبلاً با نشانی متفاوتی ثبت شده باشد و مخزن جدید ثبت خواهد شد\N'46' برای جزئیات بیشتر به \fIopam repository\fR مراجعه کنید\N'46' این گزینه بر \fIlist\N'45'available\fR نیز تأثیر می‌گذارد\N'46' .TP 4 \fB\N'45's\fR, \fB\N'45'\N'45'short\fR فهرست خام نام‌ها را بدون نمایش جزئیات، در هر خط یک مورد، خروجی می‌دهد\N'46' .SH "گزینه‌های ساخت بسته (PACKAGE BUILD OPTIONS)" .TP 4 \fB\N'45'\N'45'assume\N'45'depexts\fR مرحله نصب بسته‌های سیستمی مفقود را نادیده گرفته و در هر صورت کامپایل بسته‌های opam را ادامه می‌دهد\N'46' در صورت موفقیت نصب، opam دیگر درباره این بسته‌های سیستمی سؤالی نمی‌پرسد\N'46' تنها در صورتی معنادار است که مدیریت وابستگی‌های خارجی فعال باشد\N'46' .TP 4 \fB\N'45'b\fR, \fB\N'45'\N'45'keep\N'45'build\N'45'dir\fR دایرکتوری‌های ساخت را پس از کامپایل بسته‌ها نگه می‌دارد\N'46' این معادل تنظیم \fB$OPAMKEEPBUILDDIR\fR روی "true" است\N'46' .TP 4 \fB\N'45'\N'45'build\N'45'doc\fR در \fB2\N'46'1\fR حذف شد، به جای آن از \fI\N'45'\N'45'with\N'45'doc\fR استفاده کنید\N'46' .TP 4 \fB\N'45'\N'45'build\N'45'test\fR در \fB2\N'46'1\fR حذف شد، به جای آن از \fI\N'45'\N'45'with\N'45'test\fR استفاده کنید\N'46' .TP 4 \fB\N'45'd\fR, \fB\N'45'\N'45'with\N'45'doc\fR مستندات بسته را می‌سازد\N'46' این گزینه تنها بر بسته‌های ذکرشده در خط فرمان تأثیر می‌گذارد\N'46' این معادل تنظیم \fB$OPAMWITHDOC\fR (یا متغیر منسوخ‌شده \fB$OPAMBUILDDOC\fR) روی "true" است\N'46' .TP 4 \fB\N'45'\N'45'dry\N'45'run\fR فرمان را شبیه‌سازی می‌کند، اما در عمل تغییری ایجاد نمی‌کند\N'46' همچنین می‌تواند از طریق متغیر محیطی \fB$OPAMDEBUG\fR تنظیم شود\N'46' .TP 4 \fB\N'45'\N'45'fake\fR این گزینه عملیات را بدون اجرای واقعی، در پایگاه‌داده opam ثبت می‌کند\N'46' هشدار: این گزینه خطرناک است و احتمالاً به محیط opam شما آسیب می‌زند\N'46' شما احتمالاً نیازمند \fB\N'45'\N'45'dry\N'45'run\fR هستید\N'46' به شما \fIهشدار داده شد\fR\N'46' .TP 4 \fB\N'45'\N'45'ignore\N'45'constraints\N'45'on\fR[=\fIPACKAGES\fR] (پیش‌فرض=\fB\fR) برنامه opam را مجبور می‌کند محدودیت‌های نسخه را برای تمام وابستگی‌ها به بسته‌های مشخص‌شده نادیده بگیرد\N'46' این می‌تواند برای بررسی سازگاری استفاده شود، اما انتظار شکست در ساخت را هنگام استفاده از این گزینه داشته باشید\N'46' توجه داشته باشید که در دسترس بودن بسته‌ها و همچنین محدودیت‌های نسخه روی وابستگی‌های اختیاری و تداخل‌ها بدون تغییر می‌مانند\N'46' این معادل تنظیم \fB$OPAMIGNORECONSTRAINTS\fR است\N'46' .TP 4 \fB\N'45'\N'45'inplace\N'45'build\fR هنگام کامپایل بسته‌ای که سورس آن به یک دایرکتوری محلی متصل است، عملیات ساخت و نصب را مستقیماً در همان دایرکتوری انجام می‌دهد، نه در یک رونوشت تمیز که توسط opam مدیریت می‌شود\N'46' این گزینه فقط بر بسته‌هایی اثر می‌گذارد که صریحاً در خط فرمان ذکر شده‌اند\N'46' این معادل تنظیم \fB$OPAMINPLACEBUILD\fR روی "true" است\N'46' .TP 4 \fB\N'45'j\fR \fIJOBS\fR, \fB\N'45'\N'45'jobs\fR=\fIJOBS\fR حداکثر تعداد کارهای (jobs) هم‌روند را برای اجرا مشخص می‌کند\N'46' مقدار پیش‌فرض از روی تعداد هسته‌ها محاسبه می‌شود\N'46' همچنین می‌توانید آن را با متغیر محیطی \fB$OPAMJOBS\fR تعیین کنید\N'46' .TP 4 \fB\N'45'\N'45'lock\N'45'suffix\fR=\fISUFFIX\fR (در صورت عدم ذکر=\fBlocked\fR) پسوند فایل‌های قفل‌شده را روی \fISUFFIX\fR تنظیم می‌کند\N'46' .TP 4 \fB\N'45'\N'45'locked\fR در فرمان‌هایی که از فایل‌های opam حاصل از سورس‌های پین‌شده استفاده می‌کنند، اگر نسخه‌ای از فایل با پسوند افزوده‌شدهٔ \N'46'\fIlocked\fR پیدا شود (مانند \fBfoo\N'46'opam\N'46'locked\fR در کنار \fBfoo\N'46'opam\fR)، آن فایل به جای نسخه اصلی استفاده می‌شود\N'46' این کار معمولاً برای ارائه یک مجموعه دقیق‌تر از وابستگی‌ها و بازتولید شرایط مشابه در ساخت کاربرد دارد\N'46' می‌توان از گزینهٔ \fIlock\fR برای ایجاد این‌گونه فایل‌ها بر اساس نسخه‌های وابستگی‌های نصب‌شده فعلی روی میزبان استفاده کرد\N'46' این معادل تنظیم متغیر محیطی \fB$OPAMLOCKED\fR است\N'46' توجه داشته باشید که این گزینه معمولاً روی بسته‌هایی که قبلاً پین شده‌اند اثری ندارد\N'46' .TP 4 \fB\N'45'm\fR \fIMAKE\fR, \fB\N'45'\N'45'make\fR=\fIMAKE\fR در \fB2\N'46'1\fR حذف شد، به جای آن از \fIopam config set[\N'45'global] make MAKE\fR استفاده کنید\N'46' .TP 4 \fB\N'45'\N'45'no\N'45'checksums\fR چک‌سام (checksum) آرشیوهای بارگیری‌شده را اعتبارسنجی نمی‌کند\N'46' این معادل تنظیم \fB$OPAMNOCHECKSUMS\fR روی "true" است\N'46' .TP 4 \fB\N'45'\N'45'no\N'45'depexts\fR مدیریت وابستگی‌های خارجی را موقتاً غیرفعال می‌کند\N'46' اگر بسته‌ای در مدیر بسته سیستم شما وجود ندارد اما وابستگی مربوطه را دستی نصب کرده‌اید، می‌توان از این گزینه استفاده کرد\N'46' به طور ضمنی شامل \fB\N'45'\N'45'assume\N'45'depexts\fR است و در صورت موفقیت، موارد استثنا را نیز ذخیره می‌کند\N'46' .TP 4 \fB\N'45'\N'45'require\N'45'checksums\fR نصب بسته‌هایی را که برای آرشیوهای بالادست (upstream) چک‌سام ارائه نمی‌دهند رد می‌کند\N'46' این معادل تنظیم \fB$OPAMREQUIRECHECKSUMS\fR روی "true" است\N'46' .TP 4 \fB\N'45'\N'45'reuse\N'45'build\N'45'dir\fR به جای کامپایل از یک کلون تمیز سورس، از دایرکتوری‌های ساخت موجود (که با استفاده از \fB\N'45'\N'45'keep\N'45'build\N'45'dir\fR نگه‌داری شده‌اند) استفاده مجدد می‌کند\N'46' این می‌تواند سرعت را افزایش دهد، اما اگر سیستم‌های ساخت بسته ارتقای وابستگی‌ها را به درستی پشتیبانی نکنند می‌تواند منجر به خطا شود\N'46' این معادل تنظیم \fB$OPAMREUSEBUILDDIR\fR روی "true" است\N'46' .TP 4 \fB\N'45'\N'45'show\N'45'actions\fR حل‌کننده (solver) را فراخوانی کرده و اقدامات را نمایش می‌دهد\N'46' هیچ تغییری اعمال نمی‌کند\N'46' این معادل تنظیم \fB$OPAMSHOW\fR است\N'46' .TP 4 \fB\N'45'\N'45'skip\N'45'updates\fR هنگام اجرای install، upgrade یا reinstall روی بسته‌های پین‌شده از سورس، آن‌ها معمولاً ابتدا از مبدأ خود به‌روزرسانی می‌شوند\N'46' این پرچم این رفتار را غیرفعال کرده و نسخه موجود در حافظه موقت (cache) را حفظ می‌کند\N'46' این معادل تنظیم \fB$OPAMSKIPUPDATE\fR است\N'46' .TP 4 \fB\N'45't\fR, \fB\N'45'\N'45'with\N'45'test\fR آزمون‌های واحد (unit-tests) بسته را ساخته و \fBاجرا می‌کند\fR\N'46' این گزینه تنها بر بسته‌های ذکرشده در خط فرمان تأثیر می‌گذارد\N'46' این معادل تنظیم \fB$OPAMWITHTEST\fR (یا متغیر منسوخ‌شده \fB$OPAMBUILDTEST\fR) روی "true" است\N'46' .TP 4 \fB\N'45'\N'45'unlock\N'45'base\fR در \fB2\N'46'1\fR حذف شد، به جای آن از \fI\N'45'\N'45'update\N'45'invariant\fR استفاده کنید\N'46' .TP 4 \fB\N'45'\N'45'update\N'45'invariant\fR اجازه اعمال تغییرات در بسته‌های تعیین‌شده به عنوان پایه switch (معمولاً کامپایلر اصلی) را می‌دهد\N'46' با احتیاط استفاده شود\N'46' این معادل تنظیم متغیر محیطی \fB$OPAMUNLOCKBASE\fR است .TP 4 \fB\N'45'\N'45'verbose\N'45'on\fR=\fIPACKAGES\fR نمایش گزارش‌های پرجزئیات‌تر (verbose) را برای بسته‌های مشخص‌شده فعال می‌کند\N'46' این معادل تنظیم \fB$OPAMVERBOSE\fR است\N'46' .TP 4 \fB\N'45'\N'45'with\N'45'dev\N'45'setup\fR وابستگی‌های صرفاً مربوط به ابزارهای توسعه را نیز لحاظ می‌کند\N'46'.SH "گزینه‌های عمومی (COMMON OPTIONS)" .P این گزینه‌ها بین تمام دستورها مشترک هستند\N'46' .TP 4 \fB\N'45'\N'45'best\N'45'effort\fR در صورتی که امکان نصب تمام بسته‌های درخواستی وجود نداشته باشد، با خطا متوقف نشوید: سعی کنید تا حد امکان بیشترین بسته‌های ممکن را نصب کنید\N'46' توجه داشته باشید که ممکن است همه حل‌کننده‌های خارجی از این گزینه پشتیبانی نکنند (نسخه‌های اخیر \fIaspcud\fR یا \fImccs\fR باید پشتیبانی کنند)\N'46' این معادل تنظیم متغیر محیطی \fB$OPAMBESTEFFORT\fR است\N'46' .TP 4 \fB\N'45'\N'45'cli\fR=\fIMAJOR\N'46'MINOR\fR (در صورت عدم تعیین=\fB2\N'46'5\fR) استفاده از نحو و معناشناسی رابط خط فرمان \fIMAJOR\N'46'MINOR\fR\N'46' برای هرگونه استفاده ماندگار از opam (اسکریپت‌ها، پست‌های وبلاگ و غیره) در نظر گرفته شده است؛ هر نسخه‌ای از opam در همان سری MAJOR مشابه نگارش MINOR تعیین‌شده رفتار خواهد کرد\N'46' این پرچم در opam 2\N'46'0 موجود نبود، بنابراین برای انتخاب CLI نسخه 2\N'46'0، متغیر محیطی \fBOPAMCLI\fR را به جای استفاده از این پارامتر روی \fI2\N'46'0\fR تنظیم کنید\N'46' .TP 4 \fB\N'45'\N'45'color\fR=\fIWHEN\fR رنگی‌سازی خروجی\N'46' مقدار \fIWHEN\fR باید یکی از مقادیر \fBalways\fR، \fBnever\fR یا \fBauto\fR باشد\N'46' .TP 4 \fB\N'45'\N'45'confirm\N'45'level\fR=\fILEVEL\fR سطح تأیید؛ مقدار \fILEVEL\fR باید یکی از مقادیر \fBask\fR، \fBno\fR، \fByes\fR یا \fBunsafe\N'45'yes\fR باشد\N'46' می‌تواند بیش از یک بار مشخص شود\N'46' اگر \fB\N'45'\N'45'yes\fR یا \fB\N'45'\N'45'no\fR نیز مشخص شده باشند، مقدار آخرین \fB\N'45'\N'45'confirm\N'45'level\fR لحاظ می‌شود\N'46' این معادل تنظیم \fB$OPAMCONFIRMLEVEL\fR است\N'46' .TP 4 \fB\N'45'\N'45'criteria\fR=\fICRITERIA\fR تعیین ترجیحات (\fIpreferences\fR) کاربر برای حل وابستگی‌ها در این اجرا\N'46' متغیرهای \fB$OPAMCRITERIA\fR، \fB$OPAMFIXUPCRITERIA\fR و \fB$OPAMUPGRADECRITERIA\fR را بازنویسی می‌کند\N'46' برای جزئیات در مورد زبان پشتیبانی‌شده و حل‌کننده‌های خارجی موجود، ببینید: \fIhttp://opam\N'46'ocaml\N'46'org/doc/External_solvers\N'46'html\fR\N'46' یک راهنمای کلی برای استفاده از ترجیحات حل‌کننده را می‌توان در \fIhttp://www\N'46'dicosmo\N'46'org/Articles/usercriteria\N'46'pdf\fR یافت\N'46' .TP 4 \fB\N'45'\N'45'cudf\fR=\fIFILENAME\fR گزینه اشکال‌زدایی: درخواست‌های CUDF ارسال‌شده به حل‌کننده را در \fIFILENAME\fR\N'45'\N'46'cudf ذخیره می‌کند که در آن نشان‌دهنده n-اُمین فراخوانی حل‌کننده در طول اجرای opam است\N'46' .TP 4 \fB\N'45'\N'45'debug\fR چاپ پیام‌های اشکال‌زدایی در stderr\N'46' این معادل تنظیم \fB$OPAMDEBUG\fR روی "true" است\N'46' .TP 4 \fB\N'45'\N'45'debug\N'45'level\fR=\fILEVEL\fR مشابه \fB\N'45'\N'45'debug\fR، اما امکان تعیین سطح اشکال‌زدایی را فراهم می‌آورد (\fB\N'45'\N'45'debug\fR آن را روی 1 تنظیم می‌کند)\N'46' معادل تنظیم \fB$OPAMDEBUG\fR روی یک عدد صحیح مثبت است\N'46' .TP 4 \fB\N'45'\N'45'git\N'45'version\fR چاپ نسخه git برنامه opam در صورت وجود (یعنی زمانی که از نسخه توسعه استفاده می‌کنید) و خروج\N'46' .TP 4 \fB\N'45'\N'45'help\fR[=\fIFMT\fR] (پیش‌فرض=\fBauto\fR) نمایش این راهنما در قالب \fIFMT\fR\N'46' مقدار \fIFMT\fR باید یکی از مقادیر \fBauto\fR، \fBpager\fR، \fBgroff\fR یا \fBplain\fR باشد\N'46' با مقدار \fBauto\fR، هرگاه متغیر محیطی \fBTERM\fR برابر \fBdumb\fR باشد یا تعریف نشده باشد، قالب به صورت \fBpager\fR یا \fBplain\fR خواهد بود\N'46' .TP 4 \fB\N'45'\N'45'ignore\N'45'pin\N'45'depends\fR نادیده گرفتن پین‌های اضافی مورد نیاز بسته‌هایی که چه به صورت دستی از طریق \fIopam pin\fR یا از طریق \fIopam install DIR\fR پین شده‌اند\N'46' این معادل تنظیم \fBIGNOREPINDEPENDS=true\fR است\N'46' .TP 4 \fB\N'45'\N'45'json\fR=\fIFILENAME\fR ذخیره نتایج اجرای opam در یک فایل ماشین‌خوان\N'46' اگر نام فایل شامل نویسه «%» باشد، با نمایه‌ای جایگزین می‌شود که روی فایل موجود بازنویسی نکند\N'46' مشابه مقداردهی به متغیر \fB$OPAMJSON\fR است\N'46' .TP 4 \fB\N'45'\N'45'no\fR پاسخ منفی به تمام پرسش‌های بله/خیر opam بدون درخواست از کاربر\N'46' همچنین ببینید \fB\N'45'\N'45'confirm\N'45'level\fR\N'46' این معادل تنظیم \fB$OPAMNO\fR روی "true" است\N'46' .TP 4 \fB\N'45'\N'45'no\N'45'aspcud\fR در \fB2\N'46'1\fR حذف شد\N'46' .TP 4 \fB\N'45'\N'45'no\N'45'auto\N'45'upgrade\fR هنگام پیکربندی یا به‌روزرسانی مخزنی که برای نسخه‌های قبلی opam (1\N'46'2) نوشته شده است، opam آن را به صورت داخلی به قالب فعلی تبدیل می‌کند\N'46' این گزینه این رفتار را غیرفعال می‌کند\N'46' توجه داشته باشید که مخازن باید نسخه قالب خود را در یک فایل \N'39'repo\N'39' در ریشه خود تعیین کنند، در غیر این صورت فرض بر این خواهد بود که در قالب قدیمی‌تر هستند\N'46' در هر صورت، ارتقای دستی مخازن با استفاده از \fIopam admin upgrade [\N'45'\N'45'mirror URL]\fR در صورت امکان ترجیح داده می‌شود\N'46' .TP 4 \fB\N'45'\N'45'no\N'45'self\N'45'upgrade\fR برنامه opam در صورت وجود یک باینری جدیدتر در \fBOPAMROOT/opam\fR، خود را با آن جایگزین خواهد کرد\N'46' این گزینه این رفتار را غیرفعال می‌کند\N'46' .TP 4 \fB\N'45'q\fR, \fB\N'45'\N'45'quiet\fR گزینه \fB\N'45'\N'45'verbose\fR را غیرفعال می‌کند\N'46' .TP 4 \fB\N'45'\N'45'root\fR=\fIROOT\fR استفاده از \fIROOT\fR به عنوان مسیر ریشه فعلی\N'46' این معادل تنظیم \fB$OPAMROOT\fR روی \fIROOT\fR است\N'46' .TP 4 \fB\N'45'\N'45'safe\fR, \fB\N'45'\N'45'readonly\fR اطمینان حاصل می‌کند که هیچ چیزی به صورت خودکار به‌روزرسانی یا بازنویسی نخواهد شد\N'46' به عنوان مثال برای فراخوانی از اسکریپت‌های تکمیل خودکار فرمان مفید است\N'46' هر زمان که چنین عملیاتی نیاز باشد با خطا مواجه می‌شود؛ همچنین از انتظار برای قفل‌ها جلوگیری می‌کند، از پرسش‌های تعاملی صرف‌نظر کرده و متغیر \fB$OPAMDEBUG\fR را بازنویسی می‌کند\N'46' این معادل تنظیم متغیر محیطی \fB$OPAMSAFE\fR است\N'46' .TP 4 \fB\N'45'\N'45'solver\fR=\fICMD\fR حل‌کننده CUDF مورد استفاده برای رفع مشکلات نصب بسته‌ها را مشخص می‌کند\N'46' این مقدار می‌تواند یک حل‌کننده از پیش تعریف‌شده باشد (این نسخه از opam از builtin\N'45'mccs+lp()، builtin\N'45'mccs+glpk، builtin\N'45'dummy\N'45'z3\N'45'solver، builtin\N'45'0install، aspcud، mccs، aspcud\N'45'old و packup پشتیبانی می‌کند)، یا یک دستور سفارشی که باید شامل متغیرهای %{input}%، %{output}%، %{criteria}%، و به صورت اختیاری %{timeout}% باشد\N'46' این معادل تنظیم \fB$OPAMEXTERNALSOLVER\fR است\N'46' .TP 4 \fB\N'45'\N'45'strict\fR هرگاه خطایی در تعریف یک بسته یا در یک فایل پیکربندی پیدا شود، با شکست متوقف می‌شود\N'46' حالت پیش‌فرض این است که در صورت امکان بدون اعلام خطا ادامه دهد\N'46' .TP 4 \fB\N'45'\N'45'switch\fR=\fISWITCH\fR استفاده از \fISWITCH\fR به عنوان سوییچ کامپایلر فعلی\N'46' این معادل تنظیم \fB$OPAMSWITCH\fR روی \fISWITCH\fR است\N'46' .TP 4 \fB\N'45'\N'45'use\N'45'internal\N'45'solver\fR غیرفعال کردن هرگونه حل‌کننده خارجی، و استفاده از حل‌کننده توکار (این امر نیازمند کامپایل شدن opam همراه با حل‌کننده داخلی است)\N'46' این معادل تنظیم \fB$OPAMNOASPCUD\fR یا \fB$OPAMUSEINTERNALSOLVER\fR است\N'46' .TP 4 \fB\N'45'v\fR, \fB\N'45'\N'45'verbose\fR نمایش جزئیات بیشتر\N'46' یک بار درج \fB\N'45'v\fR تمام دستورهای بسته را نشان می‌دهد؛ تکرار آن همچنین دستورهایی را که به صورت داخلی فراخوانی می‌شوند نشان می‌دهد (مانند \fItar\fR، \fIcurl\fR، \fIpatch\fR و غیره)\N'46' تکرار به تعداد \fIn\fR بار معادل تنظیم \fB$OPAMVERBOSE\fR روی "\fIn\fR" است\N'46' .TP 4 \fB\N'45'\N'45'version\fR نمایش اطلاعات نسخه\N'46' .TP 4 \fB\N'45'w\fR, \fB\N'45'\N'45'working\N'45'dir\fR هنگام به‌روزرسانی بسته‌های متصل به یک شاخه محلی تحت سیستم کنترل نسخه، به جای آخرین وضعیت ثبت‌شده یا ارجاعی که به آن اشاره دارند، وضعیت کاری فعلی کد مبدأ آنها را مبنای به‌روزرسانی قرار می‌دهد\N'46' از آنجا که دایرکتوری منبع همان‌گونه که هست کپی می‌شود، تمیز نبودن آن ممکن است باعث شکست در ساخت opam شود\N'46' این گزینه فقط بسته‌هایی را تحت تأثیر قرار می‌دهد که صراحتاً در خط فرمان فهرست شده‌اند\N'46' همچنین می‌تواند از طریق \fB$OPAMWORKINGDIR\fR تنظیم شود\N'46' .TP 4 \fB\N'45'y\fR, \fB\N'45'\N'45'yes\fR پاسخ مثبت به تمام پرسش‌های بله/خیر opam بدون درخواست از کاربر\N'46' همچنین ببینید \fB\N'45'\N'45'confirm\N'45'level\fR\N'46' این معادل تنظیم \fB$OPAMYES\fR روی "true" است\N'46'.SH "محیط (ENVIRONMENT)" .P دستور Opam از متغیرهای محیطی فهرست‌شده در اینجا استفاده می‌کند\N'46' متغیرهای بولی (Boolean) برای غیرفعال‌سازی باید روی "0"، "no"، "false" یا رشته خالی، و برای فعال‌سازی روی "1"، "yes" یا "true" تنظیم شوند\N'46' .P \fIOPAMALLPARENS\fR تمام فیلترها را درون پرانتز قرار می‌دهد\N'46' .P \fIOPAMASSUMEDEPEXTS\fR به گزینه `\N'45'\N'45'assume\N'45'depexts\N'39' مراجعه کنید\N'46' .P \fIOPAMAUTOANSWER\fR فقط برای استفاده داخلی\N'46' .P \fIOPAMAUTOREMOVE\fR به گزینه حذف `\N'45'\N'45'auto\N'45'remove\N'39' مراجعه کنید\N'46' .P \fIOPAMBESTEFFORT\fR به گزینه `\N'45'\N'45'best\N'45'effort\N'39' مراجعه کنید\N'46' .P \fIOPAMBESTEFFORTPREFIXCRITERIA\fR رشته‌ای را مشخص می‌کند که هنگام تنظیم گزینه `\N'45'\N'45'best\N'45'effort\N'39' باید به معیارها پیشوند شود، و انتظار می‌رود ویژگی `opam\N'45'query\N'39' را در پاسخ بهینه‌ساز بیشینه کند\N'46' .P \fIOPAMBUILDDOC\fR در \fB2\N'46'1\fR حذف شد\N'46' .P \fIOPAMBUILDTEST\fR در \fB2\N'46'1\fR حذف شد\N'46' .P \fIOPAMCLI\fR به گزینه `\N'45'\N'45'cli\N'39' مراجعه کنید\N'46' .P \fIOPAMCOLOR\fR هنگامی که روی \fIalways\fR یا \fInever\fR تنظیم شود، مقداری پیش‌فرض برای گزینه `\N'45'\N'45'color\N'39' تعیین می‌کند\N'46' .P \fIOPAMCONFIRMLEVEL\fR به گزینه `\N'45'\N'45'confirm\N'45'level` مراجعه کنید\N'46' \fBOPAMCONFIRMLEVEL\fR نسبت به \fBOPAMYES\fR و \fBOPAMNO\fR اولویت دارد\N'46' .P \fIOPAMCRITERIA\fR اولویت‌های کاربر (\fIpreferences\fR) را برای حل وابستگی‌ها مشخص می‌کند\N'46' مقدار پیش‌فرض به نسخه حل‌کننده بستگی دارد؛ برای اطلاع از تنظیم فعلی از `config report\N'39' استفاده کنید\N'46' همچنین گزینه \N'45'\N'45'criteria را ببینید\N'46' .P \fIOPAMCUDFFILE\fR گراف cudf را در \fIfile\fR\N'45'actions\N'45'explicit\N'46'dot ذخیره می‌کند\N'46' .P \fIOPAMCUDFTRIM\fR فیلتر کردن بسته‌های غیرمرتبط را در طول پیش‌پردازش CUDF کنترل می‌کند\N'46' .P \fIOPAMCURL\fR می‌تواند برای انتخاب یک برنامه \N'39'curl\N'39' مشخص استفاده شود\N'46' برای گزینه‌های بیشتر \fIOPAMFETCH\fR را ببینید\N'46' .P \fIOPAMDEBUG\fR به گزینه‌های `\N'45'\N'45'debug\N'39' و `\N'45'\N'45'debug\N'45'level\N'39' مراجعه کنید\N'46' .P \fIOPAMDEBUGSECTIONS\fR در صورت تنظیم، پیام‌های اشکال‌زدایی را به فهرست بخش‌های جداشده با فاصله محدود می‌کند\N'46' بخش‌ها به صورت اختیاری می‌توانند سطح اشکال‌زدایی خاصی داشته باشند (برای مثال، \fBCLIENT:2\fR یا \fBCLIENT CUDF:2\fR)، اما در غیر این صورت از `\N'45'\N'45'debug\N'45'level\N'39' استفاده می‌کنند\N'46' .P \fIOPAMDIGDEPTH\fR میزان تهاجمی بودن جستجوی تداخل‌ها را در طول پیش‌پردازش CUDF مشخص می‌کند\N'46' .P \fIOPAMDOWNLOADJOBS\fR حداکثر تعداد بارگیری‌های هم‌زمان را تنظیم می‌کند\N'46' .P \fIOPAMDROPWORKINGDIR\fR هنگام به‌روزرسانی، بسته‌هایی را که پیش‌تر با \fB\N'45'\N'45'working\N'45'dir\fR به‌روزرسانی شده‌اند بازنویسی می‌کند\N'46' بدون تنظیم این متغیر، opam آن‌ها را بدون تغییر حفظ می‌کند مگر اینکه صراحتاً در خط فرمان مشخص شوند\N'46' .P \fIOPAMDRYRUN\fR به گزینه `\N'45'\N'45'dry\N'45'run\N'39' مراجعه کنید\N'46' .P \fIOPAMEDITOR\fR ویرایشگر مورد استفاده برای ویرایش فایل‌های opam را مشخص می‌کند؛ بر \fI$EDITOR\fR و \fI$VISUAL\fR ارجحیت دارد\N'46' .P \fIOPAMERRLOGLEN\fR تعداد خطوط گزارش چاپ‌شده در هنگام شکست یک زیرفرآیند را تعیین می‌کند\N'46' مقدار 0 برای چاپ تمام خطوط است\N'46' .P \fIOPAMEXTERNALSOLVER\fR به گزینه `\N'45'\N'45'solver\N'39' مراجعه کنید\N'46' .P \fIOPAMFAKE\fR به گزینه `\N'45'\N'45'fake\N'39' مراجعه کنید\N'46' .P \fIOPAMFETCH\fR نحوه بارگیری فایل‌ها را مشخص می‌کند: یا `wget\N'39' یا `curl\N'39' یا یک دستور سفارشی که در آن متغیرهای \fB%{url}%\fR، \fB%{out}%\fR، \fB%{retry}%\fR، \fB%{compress}%\fR و \fB%{checksum}%\fR جایگزین می‌شوند\N'46' این متغیر مقدار \N'39'download\N'45'command\N'39' را در فایل پیکربندی اصلی بازنویسی می‌کند\N'46' .P \fIOPAMFIXUPCRITERIA\fR همانند \fIOPAMUPGRADECRITERIA\fR است، اما مختص رفع اشکال (fixup) و نصب مجدد است\N'46' .P \fIOPAMIGNORECONSTRAINTS\fR به گزینه نصب `\N'45'\N'45'ignore\N'45'constraints\N'45'on\N'39' مراجعه کنید\N'46' .P \fIOPAMIGNOREPINDEPENDS\fR به گزینه `\N'45'\N'45'ignore\N'45'pin\N'45'depends\N'39' مراجعه کنید\N'46' .P \fIOPAMINPLACEBUILD\fR به گزینه `\N'45'\N'45'inplace\N'45'build\N'39' مراجعه کنید\N'46' .P \fIOPAMJOBS\fR حداکثر تعداد پردازش‌های موازی (workers) در حال اجرا را تعیین می‌کند\N'46' .P \fIOPAMJSON\fR خروجی json را در فایل ارائه‌شده ذخیره می‌کند (از نویسه `%\N'39' برای شماره‌گذاری فایل‌ها استفاده کنید)\N'46' .P \fIOPAMKEEPBUILDDIR\fR به گزینه نصب `\N'45'\N'45'keep\N'45'build\N'45'dir\N'39' مراجعه کنید\N'46' .P \fIOPAMKEEPLOGS\fR به opam اعلام می‌کند که برخی از گزارش‌های موقت دستورات و برخی از نسخه‌های پشتیبان را حذف نکند\N'46' این کار برخی نهایی‌سازها (finalisers) را نادیده می‌گیرد و ممکن است به دریافت ردگیری‌های پشته (backtraces) قابل‌اعتمادتر کمک کند\N'46' .P \fIOPAMLOCKED\fR ترکیبی از گزینه‌های `\N'45'\N'45'locked\N'39' و `\N'45'\N'45'lock\N'45'suffix\N'39' است\N'46' .P \fIOPAMLOGS\fR \fIlogdir\fR دایرکتوری گزارش‌ها را تعیین می‌کند؛ مقدار پیش‌فرض یک پوشه موقت در /tmp است .P \fIOPAMMAKECMD\fR دستور make سیستمی مورد استفاده را مشخص می‌کند\N'46' .P \fIOPAMMERGEOUT\fR خروجی‌های فرآیند را ادغام می‌کند، stderr روی stdout\N'46' .P \fIOPAMNO\fR به هر سؤالی که پرسیده شود پاسخ منفی می‌دهد؛ به گزینه‌های `\N'45'\N'45'no` و `\N'45'\N'45'confirm\N'45'level` مراجعه کنید\N'46' در صورت تنظیم هر یک از \fBOPAMCONFIRMLEVEL\fR یا \fBOPAMYES\fR، متغیر \fBOPAMNO\fR نادیده گرفته می‌شود\N'46' .P \fIOPAMNOAGGREGATE\fR همراه با `opam admin check\N'39'، بسته‌ها را تجمیع نمی‌کند\N'46' .P \fIOPAMNOASPCUD\fR منسوخ شده است\N'46' .P \fIOPAMNOAUTOUPGRADE\fR ارتقای خودکار داخلی مخازن با قالب قدیمی‌تر به قالب فعلی را در هنگام `update` یا `init` غیرفعال می‌کند\N'46' .P \fIOPAMNOCHECKSUMS\fR در صورت موجود بودن، گزینه \N'45'\N'45'no\N'45'checksums را فعال می‌کند\N'46' .P \fIOPAMNODEPEXTS\fR مدیریت وابستگی‌های سیستم را غیرفعال می‌کند؛ به گزینه `\N'45'\N'45'no\N'45'depexts\N'39' مراجعه کنید\N'46' .P \fIOPAMNOENVNOTICE\fR داخلی\N'46' .P \fIOPAMNOSELFUPGRADE\fR به گزینه `\N'45'\N'45'no\N'45'self\N'45'upgrade\N'39' مراجعه کنید .P \fIOPAMPINKINDAUTO\fR تعیین می‌کند که آیا سامانه‌های کنترل نسخه هنگام سنجاق کردن (pinning) به یک مسیر محلی تشخیص داده شوند یا خیر\N'46' از نسخه 1\N'46'3\N'46'0 به بعد به صورت پیش‌فرض فعال است\N'46' .P \fIOPAMPRECISETRACKING\fR ردیابی دقیق و ریزدانه‌ای دایرکتوری‌ها\N'46' .P \fIOPAMPREPRO\fR برای غیرفعال‌سازی پیش‌پردازش CUDF این مقدار را روی false تنظیم کنید\N'46' کارایی کمتری دارد، اما ممکن است به اشکال‌زدایی مشکلات حل‌کننده کمک کند\N'46' .P \fIOPAMREPOSITORYTARRING\fR مخازن را در داخل به صورت فایل‌های tar\N'46'gz ذخیره می‌کند\N'46' این امکان در فایل‌سیستم‌هایی که با پویش درخت‌های بزرگ سازگاری خوبی ندارند اما حافظه موقت (کَش) مناسبی در /tmp دارند، می‌تواند بسیار سریع‌تر عمل کند\N'46' با این حال، در حالت کلی کندتر است\N'46' .P \fIOPAMREQUIRECHECKSUMS\fR در صورت در دسترس بودن، گزینه `\N'45'\N'45'require\N'45'checksums\N'39' را فعال می‌کند (برای مثال برای `opam install\N'39')\N'46' .P \fIOPAMRETRIES\fR تعداد دفعات تلاش مجدد پیش از اعلام شکست در بارگیری‌ها را مشخص می‌کند\N'46' .P \fIOPAMREUSEBUILDDIR\fR به گزینه `\N'45'\N'45'reuse\N'45'build\N'45'dir\N'39' مراجعه کنید\N'46' .P \fIOPAMROOT\fR به گزینه `\N'45'\N'45'root\N'39' مراجعه کنید\N'46' این متغیر به طور خودکار توسط `opam env \N'45'\N'45'root=DIR \N'45'\N'45'set\N'45'root\N'39' تنظیم می‌شود\N'46' .P \fIOPAMROOTISOK\fR هنگام اجرا به عنوان کاربر ریشه (root)، هشداری صادر نمی‌کند\N'46' .P \fIOPAMSAFE\fR به گزینه `\N'45'\N'45'safe\N'39' مراجعه کنید\N'46' .P \fIOPAMSHOW\fR به گزینه `\N'45'\N'45'show\N'39' مراجعه کنید\N'46' .P \fIOPAMSKIPUPDATE\fR به گزینه `\N'45'\N'45'skip\N'45'updates\N'39' مراجعه کنید\N'46' .P \fIOPAMSKIPVERSIONCHECKS\fR برخی از بررسی‌های نسخه را نادیده می‌گیرد\N'46' ناامن است، صرفاً برای آزمایش‌های سازگاری کاربرد دارد\N'46' .P \fIOPAMSOLVERALLOWSUBOPTIMAL\fR (پیش‌فرض `true\N'39') به برخی حل‌کننده‌ها اجازه می‌دهد تا پس از اتمام مهلت زمانی (timeout)، همچنان یک پاسخ را ارائه دهند؛ هرچند اطمینان حاصل می‌شود که پاسخ از نظر ساختاری سازگار است، هیچ تضمینی وجود ندارد که با معیارهای بهینه‌سازی مورد انتظار تطابق داشته باشد\N'46' اگر روی `true\N'39' باشد، opam با یک هشدار به کار خود ادامه می‌دهد؛ اگر روی `false\N'39' باشد، اتمام مهلت یک خطا به شمار می‌رود\N'46' در حال حاضر فقط موتور داخلی builtin\N'45'z3 این حالت را پشتیبانی می‌کند\N'46' .P \fIOPAMSOLVERTIMEOUT\fR مهلت زمانی مجاز برای حل‌کننده را تغییر می‌دهد\N'46' مقدار پیش‌فرض 60\N'46'0 است؛ برای حالت نامحدود آن را روی 0 تنظیم کنید\N'46' توجه داشته باشید که ممکن است همه حل‌کننده‌ها از این گزینه پشتیبانی نکنند\N'46' .P \fIOPAMSOLVERTOLERANCE\fR میزان مدارا نسبت به انتخاب یک پاسخ غیربهینه توسط حل‌کننده را تغییر می‌دهد (یعنی ممکن است بسته‌های قدیمی را انتخاب کند)\N'46' مقادیر معمول از 0\N'46'0 (بهترین پاسخ شناخته‌شده برای حل‌کننده) تا 1\N'46'0 (پاسخ غیربهینه) متغیر است\N'46' مقدار پیش‌فرض 0\N'46'0 است\N'46' این گزینه زمانی سودمند است که حل‌کننده نتواند در زمانی معقول پاسخی پیدا کند (به \fB$OPAMSOLVERTIMEOUT\fR مراجعه کنید)\N'46' توجه داشته باشید که ممکن است همه حل‌کننده‌ها از این گزینه پشتیبانی نکنند\N'46' .P \fIOPAMSTATS\fR در \fB2\N'46'4\fR حذف شد\N'46' .P \fIOPAMSTATUSLINE\fR یک خط وضعیت پویا را در ترمینال نمایش می‌دهد که نشان‌دهنده رخدادهای جاری است\N'46' (یکی از مقادیر \fBalways\fR، \fBnever\fR یا \fBauto\fR) .P \fIOPAMSTRICT\fR در صورت بروز ناهمخوانی‌ها (خواندن فایل، درون‌ریزی switch و غیره\N'46') با خطا مواجه می‌شود\N'46' .P \fIOPAMSWITCH\fR به گزینه `\N'45'\N'45'switch\N'39' مراجعه کنید\N'46' به طور خودکار توسط `opam env \N'45'\N'45'switch=SWITCH \N'45'\N'45'set\N'45'switch\N'39' تنظیم می‌شود\N'46' .P \fIOPAMUNLOCKBASE\fR به گزینه نصب `\N'45'\N'45'unlock\N'45'base\N'39' مراجعه کنید\N'46' .P \fIOPAMUPGRADECRITERIA\fR اولویت‌های کاربر (\fIpreferences\fR) را برای حل وابستگی‌ها هنگام ارتقا مشخص می‌کند\N'46' در صورت تنظیم هر دو، در زمان ارتقا بر \fIOPAMCRITERIA\fR اولویت دارد\N'46' همچنین گزینه \N'45'\N'45'criteria را ببینید\N'46' .P \fIOPAMUSEINTERNALSOLVER\fR به گزینه `\N'45'\N'45'use\N'45'internal\N'45'solver\N'39' مراجعه کنید\N'46' .P \fIOPAMUSEOPENSSL\fR در \fB2\N'46'2\fR حذف شد\N'46' .P \fIOPAMUTF8\fR استفاده از نویسه‌های UTF8 در خروجی (یکی از مقادیر \fBalways\fR، \fBnever\fR یا \fBauto\fR)\N'46' به طور پیش‌فرض `auto\N'39' است که بر اساس تنظیمات محلی (locale) مشخص می‌شود)\N'46' .P \fIOPAMUTF8MSGS\fR استفاده از نویسه‌های گسترش‌یافته UTF8 (شترها) در پیام‌های opam\N'46' متضمن \fIOPAMUTF8\fR است\N'46' این متغیر به طور پیش‌فرض فقط روی macOS تنظیم شده است\N'46' .P \fIOPAMVALIDATIONHOOK\fR در صورت تنظیم، از دستور `%{hook%}\N'39' برای اعتبارسنجی به‌روزرسانی مخزن opam استفاده می‌کند\N'46' .P \fIOPAMVERBOSE\fR به گزینه `\N'45'\N'45'verbose\N'39' مراجعه کنید\N'46' .P \fIOPAMVERBOSEON\fR به گزینه \N'45'\N'45'verbose\N'45'on مراجعه کنید .P \fIOPAMVERSIONLAGPOWER\fR استفاده نشود\N'46' .P \fIOPAMWITHDEVSETUP\fR به گزینه نصب `\N'45'\N'45'with\N'45'dev\N'45'setup\N'39' مراجعه کنید\N'46' .P \fIOPAMWITHDOC\fR به گزینه نصب `\N'45'\N'45'with\N'45'doc\N'39' مراجعه کنید\N'46' .P \fIOPAMWITHTEST\fR به گزینه نصب `\N'45'\N'45'with\N'45'test\N'46' مراجعه کنید .P \fIOPAMWORKINGDIR\fR به گزینه `\N'45'\N'45'working\N'45'dir\N'39' مراجعه کنید\N'46' .P \fIOPAMYES\fR به گزینه‌های `\N'45'\N'45'yes\N'39' و `\N'45'\N'45'confirm\N'45'level` مراجعه کنید\N'46' متغیر \fBOPAMYES\fR نسبت به \fBOPAMNO\fR اولویت دارد و در صورت تنظیم \fBOPAMCONFIRMLEVEL\fR نادیده گرفته می‌شود\N'46' .P \fIOPAMVAR_var\fR هنگام جایگزینی رشته‌های `%{var}%` در فایل‌های `opam`، محتوای متغیر \fIvar\fR را بازنویسی می‌کند\N'46' .P \fIOPAMVAR_package_var\fR هنگام جایگزینی رشته‌های `%{package:var}%` در فایل‌های `opam`، محتوای متغیر \fIpackage:var\fR را بازنویسی می‌کند\N'46'.SH "نسخه خط فرمان (CLI VERSION)" .P تمام اسکریپت‌ها و فراخوانی‌های برنامه‌نویسی‌شده‌ی opam باید از `\N'45'\N'45'cli\N'39' استفاده کنند تا اطمینان حاصل شود که با نسخه‌های آینده کلاینت opam بدون مشکل کار می‌کنند\N'46' علاوه بر این، پست‌های وبلاگ یا سایر مستندات نیز می‌توانند از آن بهره‌مند شوند، چرا که مانع از منسوخ شدن اطلاعات می‌شود\N'46' .P اگرچه opam تنها از ریشه‌ها (\fI~/\N'46'opam/\fR) برای نسخه فعلی پشتیبانی می‌کند، اما سازگاری رو به عقب را برای رابط خط فرمان خود فراهم می‌آورد\N'46' .P از آنجا که پشتیبانی از نسخه خط فرمان تنها در opam 2\N'46'1 اضافه شده است، از \fIOPAMCLI\fR برای انتخاب پشتیبانی 2\N'46'0 استفاده کنید (زیرا opam 2\N'46'0 آن را صرفاً نادیده می‌گیرد)، و برای نسخه‌های 2\N'46'1 (یا بالاتر) از `\N'45'\N'45'cli=2\N'46'1\N'39' بهره بگیرید، چرا که کنترل تجزیه نحو از طریق یک متغیر محیطی شکننده است\N'46' بدین منظور، اگر \fIOPAMCLI\fR نسخه‌ای معتبر غیر از 2\N'46'0 را مشخص کند، و همچنین اگر `\N'45'\N'45'cli=2\N'46'0\N'39' تعیین شود، opam یک هشدار نمایش می‌دهد\N'46' .P نسخه رابط خط فرمان با استفاده از گزینه `\N'45'\N'45'cli\N'39' یا متغیر محیطی \fIOPAMCLI\fR تعیین می‌شود\N'46' گزینه `\N'45'\N'45'cli\N'39' ممکن است بیش از یک بار مشخص شود که در این صورت آخرین نمونه اولویت خواهد داشت\N'46' مقدار \fIOPAMCLI\fR تنها در صورتی بررسی می‌شود که `\N'45'\N'45'cli\N'39' داده نشده باشد\N'46' .SH "وضعیت خروج (EXIT STATUS)" .P به عنوان استثنایی بر موارد زیر، دستور `exec\N'39' در صورتی که دستور یافت نشود یا قابل اجرا نباشد، مقدار 127 و در غیر این صورت مقدار خروج خود دستور را برمی‌گرداند\N'46' .TP 4 0 موفقیت، یا true برای پرس‌وجوهای بولی\N'46' .TP 4 1 نادرست (False)\N'46' هنگامی بازگردانده می‌شود که یک مقدار بازگشتی بولی انتظار می‌رود، برای مثال هنگام اجرا با \fB\N'45'\N'45'check\fR، یا برای پرس‌وجوهایی مانند \fBopam lint\fR\N'46' .TP 4 2 آرگومان‌های نامعتبر خط فرمان، یا آرگومان‌های خط فرمانی که به یک زمینه نامعتبر اشاره دارند (مانند فایلی که از قالب مورد انتظار پیروی نمی‌کند)\N'46' .TP 4 5 یافت نشد\N'46' شما موردی را درخواست کرده‌اید (بسته، نسخه، مخزن و غیره) که پیدا نشد\N'46' .TP 4 10 لغو شد\N'46' این عملیات نیاز به تأیید داشت که ارائه نشد\N'46' .TP 4 15 امکان دریافت قفل‌های مورد نیاز برای انجام عملیات وجود نداشت\N'46' .TP 4 20 هیچ راه‌حلی برای درخواست کاربر وجود ندارد\N'46' این مسئله برای مثال می‌تواند ناشی از درخواست نصب هم‌زمان دو بسته ناسازگار باشد\N'46' .TP 4 30 خطا در تعریف بسته یا سایر فایل‌های فراداده\N'46' استفاده از \fB\N'45'\N'45'strict\fR باعث می‌شود این خطا بیشتر رخ دهد\N'46' .TP 4 31 خطای اسکریپت بسته\N'46' برخی از عملیات بسته ناموفق بودند\N'46' این ممکن است خطایی در بسته‌ها یا ناسازگاری با سیستم شما باشد\N'46' این می‌تواند یک خطای جزئی باشد\N'46' .TP 4 40 خطای همگام‌سازی\N'46' دریافت برخی از مخازن دوردست از شبکه ممکن نشد\N'46' این می‌تواند یک خطای جزئی باشد\N'46' .TP 4 50 خطای پیکربندی\N'46' پیکربندی سیستم یا Opam اجازه انجام عملیات را نمی‌دهد و نیاز به اصلاح دارد\N'46' .TP 4 60 شکست حل‌کننده (Solver)\N'46' حل‌کننده نتوانست پاسخی درست و معتبر بازگرداند\N'46' این ممکن است به دلیل خرابی حل‌کننده خارجی یا خطایی در پیکربندی حل‌کننده باشد\N'46' .TP 4 99 خطای داخلی\N'46' مشکلی رخ داده است، احتمالاً به دلیل وجود یک باگ در خود opam\N'46' .TP 4 130 وقفه کاربر\N'46' سیگنال SIGINT دریافت شد، که عموماً به دلیل فشردن کلیدهای Ctrl\N'45'C توسط کاربر است\N'46' .TP 4 0 در صورت موفقیت\N'46' .TP 4 123 در صورت خطاهای نامشخص گزارش‌شده در خطای استاندارد\N'46' .TP 4 124 در صورت بروز خطاهای تجزیه خط فرمان\N'46' .TP 4 125 در صورت خطاهای داخلی غیرمنتظره (باگ‌ها)\N'46' .SH "مستندات بیشتر (FURTHER DOCUMENTATION)" .P به https://opam\N'46'ocaml\N'46'org/doc مراجعه کنید\N'46' .SH "نویسندگان (AUTHORS)" .P David Allsopp .sp -1 .P Vincent Bernardoff .sp -1 .P Raja Boujbel .sp -1 .P Kate Deplaix .sp -1 .P Roberto Di Cosmo .sp -1 .P Thomas Gazagnaire .sp -1 .P Louis Gesbert .sp -1 .P Fabrice Le Fessant .sp -1 .P Anil Madhavapeddy .sp -1 .P Guillem Rieu .sp -1 .P Ralf Treinen .sp -1 .P Frederic Tuong .SH "همچنین ببینید (SEE ALSO)" .P opam(1) .SH "گزارش باگ‌ها (BUGS)" .P گزارش‌های باگ را در https://github\N'46'com/ocaml/opam/issues بررسی کنید.