.\" Pipe this output to groff -m man -K utf8 -T utf8 | less -R .\" .mso an.tmac .TH "OPAM-WHY" 1 "" "Opam 2.5.2" "Opam Manual" .\" Disable hyphenation and ragged-right .nh .ad l .SH "نام (NAME)" .P opam\-why \- نام مستعاری برای \fBtree \N'45'\N'45'rev\N'45'deps\fR .SH "خلاصه دستور (SYNOPSIS)" .P \fBopam why\fR [\fB\N'45'\N'45'recursive\fR] [\fB\N'45'\N'45'subpath\fR=\fIPATH\fR] [\fIOPTION\fR]… [\fIPACKAGES\fR]… .SH "توضیحات (DESCRIPTION)" .P دستور \fBopam\fR\fB why\fR یک نام مستعار برای \fBopam\fR\fB tree \N'45'\N'45'rev\N'45'deps\fR است\N'46' .P برای جزئیات بیشتر به \fBopam\fR\fB tree \N'45'\N'45'help\fR مراجعه کنید\N'46' .SH "گزینه‌های پالایش درخت (TREE FILTERING OPTIONS)" .TP 4 \fB\N'45'\N'45'leads\N'45'to\fR تنها شاخه‌هایی را نمایش می‌دهد که به یکی از \fIPACKAGES\fR ختم می‌شوند\N'46' .TP 4 \fB\N'45'\N'45'roots\N'45'from\fR تنها درخت‌هایی را نمایش می‌دهد که ریشه در یکی از \fIPACKAGES\fR دارند (این حالت پیش‌فرض است)\N'46' .SH "گزینه‌های ساخت درخت (TREE BUILDING OPTIONS)" .TP 4 \fB\N'45'\N'45'deps\fR رسم یک جنگل وابستگی، با شروع از بسته‌هایی که توسط هیچ بسته دیگری نیاز نیستند (این حالت پیش‌فرض است)\N'46' .TP 4 \fB\N'45'\N'45'rev\N'45'deps\fR رسم یک جنگل وابستگی معکوس، با شروع از بسته‌هایی که هیچ وابستگی ندارند\N'46' .SH "گزینه‌های انتخاب بسته (PACKAGE SELECTION OPTIONS)" .TP 4 \fB\N'45'\N'45'dev\fR شامل کردن بسته‌های توسعه در وابستگی‌ها\N'46' .TP 4 \fB\N'45'\N'45'no\N'45'switch\fR نادیده گرفتن switch فعال و شبیه‌سازی نصب بسته‌ها از یک switch خالی برای رسم جنگل .TP 4 \fB\N'45'\N'45'post\fR شامل کردن وابستگی‌هایی که با عنوان \fIpost\fR برچسب‌گذاری شده‌اند\N'46' .TP 4 \fB\N'45't\fR, \fB\N'45'\N'45'with\N'45'test\fR, \fB\N'45'\N'45'test\fR شامل کردن وابستگی‌های صرفاً آزمایشی (test\-only)\N'46' .TP 4 \fB\N'45'\N'45'with\N'45'dev\N'45'setup\fR شامل کردن وابستگی‌های مختص توسعه‌دهنده\N'46' .TP 4 \fB\N'45'\N'45'with\N'45'doc\fR, \fB\N'45'\N'45'doc\fR شامل کردن وابستگی‌های صرفاً مستندات (doc\-only)\N'46' .SH "گزینه‌های قالب خروجی (OUTPUT FORMAT OPTIONS)" .TP 4 \fB\N'45'\N'45'no\N'45'constraint\fR عدم نمایش قیدهای نگارش، به عنوان مثال \fI(>= 1\N'46'0\N'46'0\fR)\N'46' .SH "آرگومان‌ها (ARGUMENTS)" .TP 4 \fIPACKAGES\fR فهرستی از نام بسته‌ها، با نگارش یا قید اختیاری، مانند `pkg\N'39'، `pkg\N'46'1\N'46'0\N'39' یا `pkg>=0\N'46'5\N'39'؛ یا نام فایل‌ها یا دایرکتوری‌های حاوی توصیف بسته، همراه با دایرکتوری صریح (مانند `\N'46'/foo\N'46'opam\N'39' یا `\N'46'\N'39') .SH "گزینه‌ها (OPTIONS)" .TP 4 \fB\N'45'\N'45'recursive\fR اجازه جستجوی بازگشتی فایل‌های \fB*\N'46'opam\fR\N'46' همچنین به \fI\N'45'\N'45'subpath\fR مراجعه کنید\N'46' .TP 4 \fB\N'45'\N'45'subpath\fR=\fIPATH\fR فایل‌های \fB*\N'46'opam\fR به جای دایرکتوری سطح بالا، از زیردایرکتوری داده‌شده بازیابی می‌شوند\N'46' سپس سورس‌ها از زیردایرکتوری هدف دریافت می‌شوند؛ در داخل برنامه تنها این زیردایرکتوری کپی/دریافت می‌گردد\N'46' این گزینه می‌تواند با \fI\N'45'\N'45'recursive\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 (absent=\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 مشخص کردن \fIترجیحات\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] (default=\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 نادیده گرفتن pinهای اضافی مورد نیاز بسته‌هایی که pin شده‌اند، چه به صورت دستی از طریق \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'39' باشد، با شاخصی جایگزین می‌شود که فایل موجود را بازنویسی نکند\N'46' مشابه با مقداردهی متغیر \fB$OPAMJSON\fR\N'46' .TP 4 \fB\N'45'\N'45'no\fR پاسخ منفی (no) به تمام پرسش‌های بله/خیر 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' برای مثال هنگام فراخوانی از اسکریپت‌های تکمیل خودکار (completion) مفید است\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 به عنوان switch فعال کامپایلر\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 هنگام به‌روزرسانی بسته‌های متصل به یک دایرکتوری محلی تحت کنترل نسخه، به‌جای آخرین وضعیت commit شده یا ارجاعی (ref) که به آن اشاره دارند، به وضعیت کاری فعلی سورس آن‌ها به‌روزرسانی شود\N'46' از آنجا که دایرکتوری سورس همان‌گونه که هست کپی می‌شود، اگر تمیز (clean) نباشد ممکن است منجر به شکست ساخت opam شود\N'46' این گزینه فقط روی بسته‌هایی اثر می‌گذارد که صریحاً در خط فرمان ذکر شده باشند\N'46' همچنین می‌تواند با متغیر \fB$OPAMWORKINGDIR\fR تنظیم شود\N'46' .TP 4 \fB\N'45'y\fR, \fB\N'45'\N'45'yes\fR پاسخ مثبت (yes) به تمام پرسش‌های بله/خیر 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 حداکثر تعداد کارگزارهای موازی را برای اجرا تعیین می‌کند\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' این کار برخی از توابع پایانی را نادیده می‌گیرد و همچنین ممکن است به دریافت ردیابی‌های بازگشتی (backtrace) مطمئن‌تر کمک کند\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 ارتقای داخلی خودکار مخازن از قالب‌های قدیمی‌تر به قالب فعلی را هنگام \N'39'update\N'39' یا \N'39'init\N'39' غیرفعال می‌کند\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 تعیین می‌کند که آیا هنگام پین کردن به یک مسیر محلی، سیستم‌های کنترل نسخه تشخیص داده شوند یا خیر\N'46' از نسخهٔ 1\N'46'3\N'46'0 به بعد به‌طور پیش‌فرض فعال است\N'46' .P \fIOPAMPRECISETRACKING\fR ردگیری دقیق و ریزدانهٔ دایرکتوری‌ها\N'46' .P \fIOPAMPREPRO\fR این مقدار را روی false قرار دهید تا پیش‌پردازش CUDF غیرفعال شود\N'46' کارایی کمتری دارد، اما ممکن است به اشکال‌زدایی مشکلات حل‌کننده کمک کند\N'46' .P \fIOPAMREPOSITORYTARRING\fR مخازن را به‌طور داخلی به صورت فایل‌های tar\N'46'gz ذخیره می‌کند\N'46' این کار می‌تواند روی سیستم‌های فایلی که توانایی پیمایش مناسب درخت‌های بزرگ را ندارند اما کش خوبی در /tmp دارند بسیار سریع‌تر باشد\N'46' با این حال در حالت کلی کندتر است\N'46' .P \fIOPAMREQUIRECHECKSUMS\fR در صورت در دسترس بودن (برای مثال در `opam install\N'39') گزینهٔ `\N'45'\N'45'require\N'45'checksums\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') به برخی از حل‌کننده‌ها اجازه می‌دهد تا پس از اتمام مهلت زمانی همچنان یک پاسخ برگردانند؛ در حالی که تضمین می‌شود پاسخ از نظر منطقی سازگار است، هیچ تضمینی وجود ندارد که با معیارهای بهینه‌سازی مورد انتظار مطابقت داشته باشد\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 در صورت بروز هرگونه ناسازگاری (خواندن فایل، وارد کردن سوییچ و غیره\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 از آنجا که پشتیبانی از نسخه رابط خط فرمان (CLI) تنها در opam 2\N'46'1 اضافه شد، برای انتخاب پشتیبانی از 2\N'46'0 از \fIOPAMCLI\fR استفاده کنید (چرا که 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 بررسی کنید.