.\" Pipe this output to groff -m man -K utf8 -T utf8 | less -R .\" .mso an.tmac .TH "OPAM" 1 "" "Opam 2.5.2" "Opam Manual" .\" Disable hyphenation and ragged-right .nh .ad l .SH "نام (NAME)" .P opam \- مدیریت بسته‌ها مبتنی بر کد منبع .SH "خلاصه دستور (SYNOPSIS)" .P \fBopam\fR [\fICOMMAND\fR] … .SH "توضیحات (DESCRIPTION)" .P Opam یک مدیر بسته است\N'46' این ابزار از ابزارهای قدرتمند mancoosi برای مدیریت وابستگی‌ها، از جمله پشتیبانی از محدودیت‌های نسخه، وابستگی‌های اختیاری و مدیریت تداخل‌ها استفاده می‌کند\N'46' پیکربندی پیش‌فرض، آن را به مخزن رسمی بسته‌ها برای OCaml متصل می‌کند\N'46' .P این ابزار از مخازن دوردست گوناگونی چون HTTP، rsync، git، darcs و mercurial پشتیبانی می‌کند\N'46' همه‌چیز درون یک دایرکتوری محلی opam نصب می‌شود که می‌تواند شامل چندین پیشوند نصب (installation prefix) با مجموعه‌های متفاوتی از بسته‌های نصب‌شده باشد\N'46' .P برای کسب اطلاعات بیشتر در رابطه با یک دستور خاص، از \fBopam \N'45'\N'45'help\fR یا \fBopam help \fR استفاده کنید\N'46' .SH "دستورها (COMMANDS)" .TP 4 \fBadmin\fR [\fIOPTION\fR]… ابزارهایی برای مدیران مخزن .TP 4 \fBclean\fR [\fIOPTION\fR]… پاک‌سازی حافظه‌های موقت (caches) opam .TP 4 \fBconfig\fR [\fIOPTION\fR]… [\fICOMMAND\fR] [\fIARG\fR]… نمایش گزینه‌های پیکربندی برای بسته‌ها\N'46' .TP 4 \fBenv\fR [\fIOPTION\fR]… چاپ تخصیص متغیرهای مناسب شل در خروجی استاندارد (stdout) .TP 4 \fBexec\fR [\fIOPTION\fR]… \fICOMMAND [ARG]\N'46'\N'46'\N'46'\fR… اجرای یک دستور در محیط مناسب opam .TP 4 \fBhelp\fR [\fB\N'45'\N'45'man\N'45'format\fR=\fIFMT\fR] [\fIOPTION\fR]… [\fITOPIC\fR] نمایش راهنما درباره opam و دستورهای opam\N'46' .TP 4 \fBinit\fR [\fIOPTION\fR]… [\fINAME\fR] [\fIADDRESS\fR] مقداردهی اولیه وضعیت opam یا تنظیم گزینه‌های init\N'46' .TP 4 \fBinstall\fR [\fIOPTION\fR]… [\fIPACKAGES\fR]… نصب فهرستی از بسته‌ها\N'46' .TP 4 \fBlint\fR [\fIOPTION\fR]… [\fIFILES\fR]… بررسی و اعتبارسنجی فایل‌های توصیف بسته (\N'39'opam\N'39')\N'46' .TP 4 \fBlist\fR [\fB\N'45'\N'45'check\fR] [\fB\N'45'\N'45'no\N'45'depexts\fR] [\fB\N'45'\N'45'silent\fR] [\fIOPTION\fR]… [\fIPATTERNS\fR]… نمایش فهرست بسته‌های موجود\N'46' .TP 4 \fBlock\fR [\fB\N'45'\N'45'direct\N'45'only\fR] [\fB\N'45'\N'45'keep\N'45'local\fR] [\fB\N'45'\N'45'lock\N'45'suffix\fR=\fISUFFIX\fR] [\fIOPTION\fR]… [\fIPACKAGES\fR]… ایجاد فایل‌های قفل‌شده opam برای به اشتراک‌گذاری محیط‌های ساخت میان میزبان‌ها\N'46' .TP 4 \fBoption\fR [\fB\N'45'\N'45'global\fR] [\fIOPTION\fR]… [\fIFIELD[(=|+=|\N'45'=)[VALUE]]\fR] تنظیمات گزینه‌های پیکربندی سراسری و switch .TP 4 \fBpin\fR [\fIOPTION\fR]… [\fICOMMAND\fR] [\fIARG\fR]… سنجاق کردن (pin) یک بسته به یک نسخه یا منبع خاص\N'46' .TP 4 \fBreinstall\fR [\fIOPTION\fR]… [\fIPACKAGES\fR]… نصب مجدد فهرستی از بسته‌ها\N'46' .TP 4 \fBremove\fR [\fIOPTION\fR]… [\fIPACKAGES\fR]… حذف فهرستی از بسته‌ها\N'46' .TP 4 \fBrepository\fR [\fB\N'45'\N'45'kind\fR=\fIKIND\fR] [\fB\N'45'\N'45'rank\fR=\fIRANK\fR] [\fB\N'45'\N'45'short\fR] [\fIOPTION\fR]… [\fICOMMAND\fR] [\fIARG\fR]… مدیریت مخازن opam\N'46' .TP 4 \fBshow\fR [\fIOPTION\fR]… [\fIPACKAGES\fR]… نمایش اطلاعات درباره بسته‌های خاص\N'46' .TP 4 \fBsource\fR [\fIOPTION\fR]… \fIPACKAGE\fR دریافت کد منبع یک بسته opam\N'46' .TP 4 \fBswitch\fR [\fIOPTION\fR]… [\fICOMMAND\fR] [\fIARG\fR]… مدیریت چندین پیشوند نصب\N'46' .TP 4 \fBtree\fR [\fB\N'45'\N'45'recursive\fR] [\fB\N'45'\N'45'subpath\fR=\fIPATH\fR] [\fIOPTION\fR]… [\fIPACKAGES\fR]… رسم ساختار درختی وابستگی‌های بسته‌های نصب‌شده\N'46' .TP 4 \fBupdate\fR [\fIOPTION\fR]… [\fINAMES\fR]… به‌روزرسانی فهرست بسته‌های موجود\N'46' .TP 4 \fBupgrade\fR [\fIOPTION\fR]… [\fIPACKAGES\fR]… ارتقای بسته‌های نصب‌شده به آخرین نسخه\N'46' .TP 4 \fBvar\fR [\fB\N'45'\N'45'global\fR] [\fB\N'45'\N'45'package\fR=\fIPACKAGE\fR] [\fIOPTION\fR]… [\fIVAR[=[VALUE]]\fR] نمایش و به‌روزرسانی مقدار مرتبط با یک متغیر مشخص.SH "نام‌های مستعار دستور (COMMAND ALIASES)" .TP 4 \fBinfo\fR [\fIOPTION\fR]… [\fIPACKAGES\fR]… نام مستعاری برای \fBshow\fR\N'46' .TP 4 \fBremote\fR [\fB\N'45'\N'45'kind\fR=\fIKIND\fR] [\fB\N'45'\N'45'rank\fR=\fIRANK\fR] [\fB\N'45'\N'45'short\fR] [\fIOPTION\fR]… [\fICOMMAND\fR] [\fIARG\fR]… نام مستعاری برای \fBrepository\fR\N'46' .TP 4 \fBsearch\fR [\fB\N'45'\N'45'check\fR] [\fB\N'45'\N'45'no\N'45'depexts\fR] [\fB\N'45'\N'45'silent\fR] [\fIOPTION\fR]… [\fIPATTERNS\fR]… نام مستعاری برای \fBlist \N'45'\N'45'search\fR\N'46' .TP 4 \fBuninstall\fR [\fIOPTION\fR]… [\fIPACKAGES\fR]… نام مستعاری برای \fBremove\fR\N'46' .TP 4 \fBunpin\fR [\fIOPTION\fR]… [\fIARG\fR]… نام مستعاری برای \fBpin remove\fR\N'46' .TP 4 \fBwhy\fR [\fB\N'45'\N'45'recursive\fR] [\fB\N'45'\N'45'subpath\fR=\fIPATH\fR] [\fIOPTION\fR]… [\fIPACKAGES\fR]… نام مستعاری برای \fBtree \N'45'\N'45'rev\N'45'deps\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 تعیین \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 آن را روی ۱ تنظیم می‌کند)\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 در یک فایل ماشین‌خوان (computer\N'45'readable)\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 (۱\N'46'۲) نوشته شده است، 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 هنگام به‌روزرسانی بسته‌هایی که به یک دایرکتوری محلی و تحت سامانهٔ کنترل نسخه (version\N'45'controlled) متصل هستند، به‌جای آخرین وضعیت کامیت‌شده یا ارجاعی (ref) که به آن اشاره دارند، به وضعیت کاری فعلی منبع آن‌ها به‌روزرسانی می‌کند\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 پاسخ «بله» (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' مراجعه کنید\N'46' .P \fIOPAMAUTOANSWER\fR فقط برای استفادهٔ داخلی\N'46' .P \fIOPAMAUTOREMOVE\fR به گزینهٔ حذف `\N'45'\N'45'auto\N'45'remove\N'39'\N'46' مراجعه کنید\N'46' .P \fIOPAMBESTEFFORT\fR به گزینهٔ `\N'45'\N'45'best\N'45'effort\N'39'\N'46' مراجعه کنید\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' مراجعه کنید\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' مراجعه کنید\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' مراجعه کنید\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' مراجعه کنید\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' مراجعه کنید\N'46' .P \fIOPAMFAKE\fR به گزینهٔ `\N'45'\N'45'fake\N'39'\N'46' مراجعه کنید\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' مراجعه کنید\N'46' .P \fIOPAMIGNOREPINDEPENDS\fR به گزینهٔ `\N'45'\N'45'ignore\N'45'pin\N'45'depends\N'39'\N'46' مراجعه کنید\N'46' .P \fIOPAMINPLACEBUILD\fR به گزینهٔ `\N'45'\N'45'inplace\N'45'build\N'39'\N'46' مراجعه کنید\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' مراجعه کنید\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 به تمام پرسش‌های مطرح‌شده پاسخ خیر (no) می‌دهد؛ به گزینه‌های `\N'45'\N'45'no` و `\N'45'\N'45'confirm\N'45'level`\N'46' مراجعه کنید\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' مراجعه کنید\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 گزینهٔ `\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' مراجعه کنید\N'46' .P \fIOPAMROOT\fR به گزینهٔ `\N'45'\N'45'root\N'39'\N'46' مراجعه کنید\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' مراجعه کنید\N'46' .P \fIOPAMSHOW\fR به گزینهٔ `\N'45'\N'45'show\N'39'\N'46' مراجعه کنید\N'46' .P \fIOPAMSKIPUPDATE\fR به گزینهٔ `\N'45'\N'45'skip\N'45'updates\N'39'\N'46' مراجعه کنید\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' در حال حاضر تنها backend مربوط به 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' .P \fIOPAMSWITCH\fR به گزینهٔ `\N'45'\N'45'switch\N'39'\N'46' مراجعه کنید\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' مراجعه کنید\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' مراجعه کنید\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' مراجعه کنید\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' مراجعه کنید\N'46' .P \fIOPAMWITHDOC\fR به گزینهٔ نصب `\N'45'\N'45'with\N'45'doc\N'39'\N'46' مراجعه کنید\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' مراجعه کنید\N'46' .P \fIOPAMYES\fR به گزینه‌های `\N'45'\N'45'yes\N'39' و `\N'45'\N'45'confirm\N'45'level`\N'46' مراجعه کنید\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 آرگومان‌های نامعتبر خط فرمان، یا آرگومان‌های خط فرمان که به یک بافت (context) نامعتبر اشاره دارند (مثلاً فایلی که از قالب مورد انتظار پیروی نمی‌کند)\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 خطا در تعریف بسته، یا سایر فایل‌های فراداده (metadata)\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' دریافت برخی از منابع دوردست (remotes) از شبکه امکان‌پذیر نبود\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 در صورت بروز خطاهای نامشخص گزارش‌شده روی خروجی استاندارد خطا (stderr)\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 "گزارش باگ‌ها (BUGS)" .P گزارش باگ‌ها را در https://github\N'46'com/ocaml/opam/issues بررسی کنید\N'46'