.\" Pipe this output to groff -m man -K utf8 -T utf8 | less -R .\" .mso an.tmac .TH "OPAM-LOCK" 1 "" "Opam 2.5.2" "Opam Manual" .\" Disable hyphenation and ragged-right .nh .ad l .SH "نام (NAME)" opam\-lock \- ساخت فایل‌های قفل‌شده opam جهت اشتراک‌گذاری محیط‌های ساخت میان میزبان‌ها .SH "خلاصه دستور (SYNOPSIS)" .P \fBopam lock\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]… .SH "توضیحات (DESCRIPTION)" .P یک فایل قفل (lock file) از بسته تولید می‌کند: وضعیت فعلی وابستگی‌های نصب‌شده آن‌ها را بررسی کرده و نسخه‌های تغییریافته‌ای از فایل opam با پسوند \fI\N'46'locked\fR تولید می‌کند که در آن‌ها تمام وابستگی‌ها (شامل وابستگی‌های متعدی) و پین‌ها دقیقاً به نسخه فعلی نصب‌شده مقید شده‌اند\N'46' .P با استفاده از این فایل‌های قفل‌شده opam، می‌توان دقیقاً همان محیط ساختی را که هنگام تولید آن‌ها راه‌اندازی شده بود، بازیابی کرد\N'46' .P اگر مسیرهایی (نام فایل یا دایرکتوری) داده شوند، آن فایل‌های opam قفل می‌شوند\N'46' اگر نام بسته داده شود، نسخه نصب‌شده آن قفل می‌شود، در غیر این صورت آخرین نسخه آن قفل خواهد شد\N'46' اگر یک بسته پین‌شده محلی داده شود، فایل opam محلی فعلی آن قفل می‌شود، حتی اگر تحت کنترل نسخه نبوده یا تغییرات ثبت‌نشده (uncommitted) داشته باشد\N'46' .P در صورتی که تمام وابستگی‌های اجباری در سوئیچ نصب نشده باشند، با شکست مواجه می‌شود\N'46' .SH "فیلدهای تغییریافته فایل قفل (LOCK FILE CHANGED FIELDS)" .P \N'45' وابستگی‌های \fIdepends\fR به نسخه‌های خاص خود مقید می‌شوند و تمامی فیلترها حذف می‌گردند (به جز استثناهای زیر)\N'46' .P \N'45' فیلدهای \fIdepopts\fR که در سوئیچ فعلی نصب شده‌اند، همراه با تعیین نسخه آن‌ها، به \fIdepends\fR تبدیل می‌شوند\N'46' سایر موارد در فیلد \fIconflict\fR قرار می‌گیرند\N'46' .P \N'45' فیلترهای `{dev}`، `{with\N'45'test}` و `{with\N'45'doc}` در صورتی که تمام بسته‌های مربوط به یک فیلتر خاص در سوئیچ نصب شده باشند، حفظ می‌شوند\N'46' نسخه‌ها ثابت می‌شوند و همان فیلتر روی تمامی وابستگی‌هایی که از آن‌ها افزوده شده‌اند نیز اعمال می‌گردد\N'46' .P \N'45' فیلدهای \fIpin\N'45'depends\fR حفظ می‌شوند و در صورتی که برخی از بسته‌ها در وابستگی‌ها پین شده باشند، موارد جدید افزوده می‌شوند\N'46' .P \N'45' پین‌ها حل می‌شوند: اگر بسته‌ای به صورت محلی پین شده باشد، opam تلاش می‌کند نشانی وب (URL) دوردست و شاخه آن را دریافت کند و آن را به عنوان URL مقصد تنظیم نماید؛ در غیر این صورت آن‌ها را نادیده می‌گیرد\N'46' می‌توانید از گزینه \fI\N'45'\N'45'keep\N'45'local\fR برای نگهداری URLهای محلی استفاده کنید\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')\N'46' .SH "گزینه‌ها (OPTIONS)" .TP 4 \fB\N'45'd\fR, \fB\N'45'\N'45'direct\N'45'only\fR تنها وابستگی‌های مستقیم را به جای کل درخت وابستگی قفل می‌کند\N'46' .TP 4 \fB\N'45'\N'45'keep\N'45'local\fR مسیرهای پین محلی را در فیلد \N'39'pin\N'45'depends:\N'39' حفظ می‌کند\N'46' .TP 4 \fB\N'45'\N'45'lock\N'45'suffix\fR=\fISUFFIX\fR (در صورت عدم تعیین=\fBlocked\fR) تنظیم پسوند فایل‌های قفل‌شده روی \fISUFFIX\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\N'45'امین فراخوانی حل‌کننده در طول اجرای 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'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 به عنوان سوئیچ کامپایلر فعلی\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' از آنجا که دایرکتوری سورس همان‌گونه که هست کپی می‌شود، اگر تمیز نباشد ممکن است به شکست ساخت 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 می‌تواند برای انتخاب یک برنامه `curl` مشخص استفاده شود\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' بر مقدار 'download-command' در فایل پیکربندی اصلی ارجحیت دارد\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' این کار برخی اقدامات نهایی‌سازی را نادیده می‌گیرد و همچنین ممکن است به دریافت ردگیری‌های معتبرتر از پشته فراخوانی‌ها (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 مشخص می‌کند که آیا سامانه‌های کنترل نسخه هنگام پین کردن به یک مسیر محلی شناسایی شوند یا خیر\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' .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 محتوای متغیر \fIvar\fR را هنگام جایگزینی رشته‌های `%{var}%` در فایل‌های `opam` بازنویسی می‌کند\N'46' .P \fIOPAMVAR_package_var\fR محتوای متغیر \fIpackage:var\fR را هنگام جایگزینی رشته‌های `%{package:var}%` در فایل‌های `opam` بازنویسی می‌کند\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 افزوده شده است، از \fIOPAMCLI\fR برای انتخاب پشتیبانی 2\N'46'0 استفاده کنید (چرا که opam 2\N'46'0 صرفاً آن را نادیده خواهد گرفت)، و از `\N'45'\N'45'cli=2\N'46'1\N'39' برای نسخه‌های 2\N'46'1 (یا جدیدتر) استفاده نمایید، زیرا استفاده از متغیر محیطی برای کنترل تجزیه نحو شکننده و آسیب‌پذیر است\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 خطا در تعریف بسته، یا سایر فایل‌های فراداده (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 شکست حل‌کننده\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 در صورت خطاهای نامشخص گزارش‌شده روی خروجی خطای استاندارد (standard error)\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 بررسی کنید\N'46'