| OPAM-LOCK(1) | Opam Manual | OPAM-LOCK(1) |
نام (NAME)
opam-lock - ساخت فایلهای قفلشده opam جهت اشتراکگذاری محیطهای ساخت میان میزبانها
خلاصه دستور (SYNOPSIS)
opam lock [--direct-only] [--keep-local] [--lock-suffix=SUFFIX] [OPTION]… [PACKAGES]…
توضیحات (DESCRIPTION)
یک فایل قفل (lock file) از بسته تولید میکند: وضعیت فعلی وابستگیهای نصبشده آنها را بررسی کرده و نسخههای تغییریافتهای از فایل opam با پسوند .locked تولید میکند که در آنها تمام وابستگیها (شامل وابستگیهای متعدی) و پینها دقیقاً به نسخه فعلی نصبشده مقید شدهاند.
با استفاده از این فایلهای قفلشده opam، میتوان دقیقاً همان محیط ساختی را که هنگام تولید آنها راهاندازی شده بود، بازیابی کرد.
اگر مسیرهایی (نام فایل یا دایرکتوری) داده شوند، آن فایلهای opam قفل میشوند. اگر نام بسته داده شود، نسخه نصبشده آن قفل میشود، در غیر این صورت آخرین نسخه آن قفل خواهد شد. اگر یک بسته پینشده محلی داده شود، فایل opam محلی فعلی آن قفل میشود، حتی اگر تحت کنترل نسخه نبوده یا تغییرات ثبتنشده (uncommitted) داشته باشد.
در صورتی که تمام وابستگیهای اجباری در سوئیچ نصب نشده باشند، با شکست مواجه میشود.
فیلدهای تغییریافته فایل قفل (LOCK FILE CHANGED FIELDS)
- وابستگیهای depends به نسخههای خاص خود مقید میشوند و تمامی فیلترها حذف میگردند (به جز استثناهای زیر).
- فیلدهای depopts که در سوئیچ فعلی نصب شدهاند، همراه با تعیین نسخه آنها، به depends تبدیل میشوند. سایر موارد در فیلد conflict قرار میگیرند.
- فیلترهای `{dev}`، `{with-test}` و `{with-doc}` در صورتی که تمام بستههای مربوط به یک فیلتر خاص در سوئیچ نصب شده باشند، حفظ میشوند. نسخهها ثابت میشوند و همان فیلتر روی تمامی وابستگیهایی که از آنها افزوده شدهاند نیز اعمال میگردد.
- فیلدهای pin-depends حفظ میشوند و در صورتی که برخی از بستهها در وابستگیها پین شده باشند، موارد جدید افزوده میشوند.
- پینها حل میشوند: اگر بستهای به صورت محلی پین شده باشد، opam تلاش میکند نشانی وب (URL) دوردست و شاخه آن را دریافت کند و آن را به عنوان URL مقصد تنظیم نماید؛ در غیر این صورت آنها را نادیده میگیرد. میتوانید از گزینه --keep-local برای نگهداری URLهای محلی استفاده کنید.
آرگومانها (ARGUMENTS)
- PACKAGES
- فهرستی از نام بستهها، به همراه نسخه یا محدودیت اختیاری، مانند `pkg'، `pkg.1.0' یا `pkg>=0.5'؛ یا نام فایلها یا دایرکتوریهای حاوی توضیحات بسته، با ذکر صریح دایرکتوری (مانند `./foo.opam' یا `.').
گزینهها (OPTIONS)
- -d, --direct-only
- تنها وابستگیهای مستقیم را به جای کل درخت وابستگی قفل میکند.
- --keep-local
- مسیرهای پین محلی را در فیلد 'pin-depends:' حفظ میکند.
- --lock-suffix=SUFFIX (در صورت عدم تعیین=locked)
- تنظیم پسوند فایلهای قفلشده روی SUFFIX.
گزینههای عمومی (COMMON OPTIONS)
این گزینهها برای همه دستورها مشترک هستند.
- --best-effort
- در صورتی که تمام بستههای درخواستی قابل نصب نباشند شکست نخور: تلاش کن تا جای ممکن بیشترین تعداد بسته نصب شوند. توجه داشته باشید که ممکن است همه حلکنندههای خارجی از این گزینه پشتیبانی نکنند (نسخههای اخیر aspcud یا mccs باید پشتیبانی کنند). این معادل تنظیم متغیر محیطی $OPAMBESTEFFORT است.
- --cli=MAJOR.MINOR (در صورت عدم تعیین=2.5)
- استفاده از نحو و معناشناسی واسط خط فرمانِ MAJOR.MINOR. این گزینه برای هرگونه استفاده مداوم از opam (اسکریپتها، پستهای وبلاگ و غیره) در نظر گرفته شده است؛ هر نسخهای از opam در همان سری MAJOR مشابه نسخه MINOR مشخصشده رفتار خواهد کرد. این پرچم در opam 2.0 موجود نبود، بنابراین برای انتخاب CLI نسخه 2.0، به جای استفاده از این پارامتر، متغیر محیطی OPAMCLI را روی 2.0 تنظیم کنید.
- --color=WHEN
- رنگیکردن خروجی. مقدار WHEN باید یکی از always، never یا auto باشد.
- --confirm-level=LEVEL
- سطح تأیید؛ LEVEL باید یکی از مقادیر ask، no، yes یا unsafe-yes باشد. میتواند بیش از یک بار مشخص شود. اگر --yes یا --no نیز داده شوند، مقدار آخرین --confirm-level لحاظ میشود. این معادل تنظیم $OPAMCONFIRMLEVEL است.
- --criteria=CRITERIA
- مشخص کردن ترجیحات کاربر برای حل وابستگیها در این اجرا. بر $OPAMCRITERIA، $OPAMFIXUPCRITERIA و $OPAMUPGRADECRITERIA اولویت دارد. برای جزئیات درباره زبان پشتیبانیشده و حلکنندههای خارجی موجود، http://opam.ocaml.org/doc/External_solvers.html را ببینید. یک راهنمای کلی برای استفاده از ترجیحات حلکننده را میتوان در http://www.dicosmo.org/Articles/usercriteria.pdf یافت.
- --cudf=FILENAME
- گزینه اشکالزدایی: ذخیره درخواستهای CUDF ارسالشده به حلکننده در FILENAME-<n>.cudf که در آن <n> نشاندهنده n-امین فراخوانی حلکننده در طول اجرای opam است.
- --debug
- چاپ پیامهای اشکالزدایی در stderr. این معادل تنظیم $OPAMDEBUG روی "true" است.
- --debug-level=LEVEL
- مشابه --debug، اما امکان تعیین سطح اشکالزدایی را فراهم میکند (--debug آن را روی 1 تنظیم میکند). معادل با تنظیم $OPAMDEBUG روی یک عدد صحیح مثبت است.
- --git-version
- چاپ نسخه git برنامه opam، در صورت تعیین (یعنی زمانی که از یک نسخه در حال توسعه استفاده میکنید)، و خروج.
- --help[=FMT] (پیشفرض=auto)
- نمایش این راهنما در قالب FMT. مقدار FMT باید یکی از auto، pager، groff یا plain باشد. با مقدار auto، هرگاه متغیر محیطی TERM برابر با dumb یا تعریفنشده باشد، قالب به صورت pager یا plain خواهد بود.
- --ignore-pin-depends
- نادیده گرفتن پینهای اضافی مورد نیاز بستههایی که پین میشوند، چه به صورت دستی از طریق opam pin و چه از طریق opam install DIR. این معادل تنظیم IGNOREPINDEPENDS=true است.
- --json=FILENAME
- ذخیره نتایج اجرای opam در یک فایل ماشینخوان. اگر نام فایل حاوی نویسه `%' باشد، با نمایهای جایگزین خواهد شد که روی فایل موجود بازنویسی نکند. مشابه با تنظیم متغیر $OPAMJSON است.
- --no
- پاسخ منفی (no) به تمام پرسشهای بله/خیر opam بدون پرسش از کاربر. همچنین --confirm-level را ببینید. این معادل تنظیم $OPAMNO روی "true" است.
- --no-aspcud
- در نسخه 2.1 حذف شد.
- --no-auto-upgrade
- هنگام پیکربندی یا بهروزرسانی مخزنی که برای نسخههای قبلی opam (نسخه 1.2) نوشته شده است، opam به صورت درونی آن را به قالب فعلی تبدیل میکند. این گزینه این رفتار را غیرفعال میکند. توجه داشته باشید که مخازن باید نسخه قالب خود را در یک فایل 'repo' در ریشه خود تعریف کنند، در غیر این صورت فرض میشود که در قالب قدیمیتر هستند. در هر صورت، ترجیح بر این است که در صورت امکان مخازن را با استفاده از opam admin upgrade [--mirror URL] به صورت دستی ارتقا دهید.
- --no-self-upgrade
- برنامه opam در صورت وجود، خود را با باینری جدیدتری که در OPAMROOT/opam یافت شود جایگزین میکند. این گزینه این رفتار را غیرفعال میکند.
- -q, --quiet
- گزینه --verbose را غیرفعال میکند.
- --root=ROOT
- استفاده از ROOT به عنوان مسیر ریشه فعلی. این معادل تنظیم $OPAMROOT روی ROOT است.
- --safe, --readonly
- اطمینان از اینکه هیچ چیزی به صورت خودکار بهروزرسانی یا بازنویسی نخواهد شد. برای مثال، جهت فراخوانی از اسکریپتهای تکمیل خودکار (completion) مفید است. هر زمان که به چنین عملیاتی نیاز باشد با شکست مواجه میشود؛ همچنین از انتظار برای قفلها جلوگیری میکند، پرسشهای تعاملی را نادیده میگیرد و متغیر $OPAMDEBUG را بازنویسی میکند. این معادل تنظیم متغیر محیطی $OPAMSAFE است.
- --solver=CMD
- مشخص کردن حلکننده CUDF مورد استفاده برای حل مشکلات نصب بسته. این حلکننده یا یک حلکننده از پیش تعریفشده است (این نسخه از opam از builtin-mccs+lp()، builtin-mccs+glpk، builtin-dummy-z3-solver، builtin-0install، aspcud، mccs، aspcud-old و packup پشتیبانی میکند) یا یک دستور سفارشی که باید شامل متغیرهای %{input}%، %{output}%، %{criteria}% و در صورت تمایل %{timeout}% باشد. این معادل تنظیم $OPAMEXTERNALSOLVER است.
- --strict
- هرگاه خطایی در تعریف یک بسته یا در یک فایل پیکربندی یافت شود، با شکست متوقف شو. حالت پیشفرض، ادامه بیصدا در صورت امکان است.
- --switch=SWITCH
- استفاده از SWITCH به عنوان سوئیچ کامپایلر فعلی. این معادل تنظیم $OPAMSWITCH روی SWITCH است.
- --use-internal-solver
- غیرفعال کردن هرگونه حلکننده خارجی و استفاده از حلکننده توکار (این امر نیازمند آن است که opam همراه با یک حلکننده توکار کامپایل شده باشد). این معادل تنظیم $OPAMNOASPCUD یا $OPAMUSEINTERNALSOLVER است.
- -v, --verbose
- پُرگویی بیشتر. یک بار -v تمام دستورهای بسته را نشان میدهد؛ برای نمایش دستورهایی که به صورت درونی فراخوانی میشوند (مانند tar، curl، patch و غیره) تکرار کنید. تکرار n بار معادل با تنظیم $OPAMVERBOSE روی "n" است.
- --version
- نمایش اطلاعات نسخه.
- -w, --working-dir
- هنگام بهروزرسانی بستههایی که به یک دایرکتوری محلی تحت کنترل نسخه مقید هستند، به جای آخرین وضعیت ثبتشده (commit) یا مرجعی (ref) که به آن اشاره میکنند، به وضعیت کاری فعلی منبع آنها بهروزرسانی شود. از آنجا که دایرکتوری سورس همانگونه که هست کپی میشود، اگر تمیز نباشد ممکن است به شکست ساخت opam منجر شود. این گزینه فقط بر بستههایی تأثیر میگذارد که صریحاً در خط فرمان فهرست شده باشند. همچنین میتواند با $OPAMWORKINGDIR تنظیم شود.
- -y, --yes
- پاسخ مثبت (yes) به تمام پرسشهای بله/خیر opam بدون پرسش از کاربر. همچنین --confirm-level را ببینید. این معادل تنظیم $OPAMYES روی "true" است.
محیط (ENVIRONMENT)
دستور opam از متغیرهای محیطی فهرستشده در اینجا استفاده میکند. متغیرهای بولی (Boolean) باید برای غیرفعالسازی روی "0"، "no"، "false" یا یک رشته خالی، و برای فعالسازی روی "1"، "yes" یا "true" تنظیم شوند.
OPAMALLPARENS همه فیلترها را در پرانتز قرار میدهد.
OPAMASSUMEDEPEXTS گزینه `--assume-depexts' را ببینید.
OPAMAUTOANSWER فقط برای استفاده داخلی.
OPAMAUTOREMOVE گزینه حذف `--auto-remove' را ببینید.
OPAMBESTEFFORT گزینه `--best-effort' را ببینید.
OPAMBESTEFFORTPREFIXCRITERIA رشتهای را مشخص میکند که در صورت تنظیم گزینه `--best-effort' باید به معیارها پیشوند شود، و انتظار میرود که ویژگی `opam-query' را در پاسخ به حداکثر برساند.
OPAMBUILDDOC در 2.1 حذف شد.
OPAMBUILDTEST در 2.1 حذف شد.
OPAMCLI گزینه `--cli' را ببینید.
OPAMCOLOR در صورت تنظیم روی always یا never، مقدار پیشفرضی را برای گزینه `--color' تنظیم میکند.
OPAMCONFIRMLEVEL گزینه `--confirm-level` را ببینید. متغیر OPAMCONFIRMLEVEL نسبت به OPAMYES و OPAMNO اولویت دارد.
OPAMCRITERIA ترجیحات (preferences) کاربر را برای حل وابستگیها مشخص میکند. مقدار پیشفرض به نسخه حلکننده بستگی دارد؛ برای اطلاع از مقدار فعلی، `config report' را اجرا کنید. همچنین گزینه --criteria را ببینید.
OPAMCUDFFILE گراف cudf را در file-actions-explicit.dot ذخیره میکند.
OPAMCUDFTRIM فیلتر کردن بستههای نامرتبط را هنگام پیشپردازش CUDF کنترل میکند.
OPAMCURL میتواند برای انتخاب یک برنامه `curl` مشخص استفاده شود. برای گزینههای بیشتر OPAMFETCH را ببینید.
OPAMDEBUG گزینههای `--debug' و `--debug-level' را ببینید.
OPAMDEBUGSECTIONS در صورت تنظیم، پیامهای اشکالزدایی را به فهرست بخشهای جداشده با فاصله محدود میکند. بخشها میتوانند بهصورت اختیاری یک سطح اشکالزدایی مشخص داشته باشند (برای مثال، CLIENT:2 یا CLIENT CUDF:2)، اما در غیر این صورت از `--debug-level' استفاده میکنند.
OPAMDIGDEPTH میزان سختگیرانه بودن جستجو برای تداخلها را در طول پیشپردازش CUDF تعیین میکند.
OPAMDOWNLOADJOBS بیشینه تعداد بارگیریهای همزمان را تنظیم میکند.
OPAMDROPWORKINGDIR هنگام بهروزرسانی، بستههایی را که پیشتر با --working-dir بهروزرسانی شدهاند جایگزین میکند. بدون تنظیم این متغیر، opam آنها را بدون تغییر نگه میدارد مگر اینکه صریحاً در خط فرمان نام برده شوند.
OPAMDRYRUN گزینه `--dry-run' را ببینید.
OPAMEDITOR ویرایشگر مورد استفاده برای ویرایش فایلهای opam را مشخص میکند و بر $EDITOR و $VISUAL اولویت دارد.
OPAMERRLOGLEN تعداد خطوط لاگ چاپشده هنگام شکست یک زیرفرآیند را تعیین میکند. مقدار 0 همه را چاپ میکند.
OPAMEXTERNALSOLVER گزینه `--solver' را ببینید.
OPAMFAKE گزینه `--fake' را ببینید.
OPAMFETCH نحوه بارگیری فایلها را مشخص میکند: یکی از `wget'، `curl' یا یک دستور سفارشی که در آن متغیرهای %{url}%، %{out}%، %{retry}%، %{compress}% و %{checksum}% جایگزین خواهند شد. بر مقدار 'download-command' در فایل پیکربندی اصلی ارجحیت دارد.
OPAMFIXUPCRITERIA مشابه OPAMUPGRADECRITERIA است، اما مختص به اصلاح (fixup) و نصب مجدد است.
OPAMIGNORECONSTRAINTS گزینه نصب `--ignore-constraints-on' را ببینید.
OPAMIGNOREPINDEPENDS گزینه `--ignore-pin-depends' را ببینید.
OPAMINPLACEBUILD گزینه `--inplace-build' را ببینید.
OPAMJOBS بیشینه تعداد فرآیندهای موازی را برای اجرا تنظیم میکند.
OPAMJSON خروجی json را در فایل مشخصشده ثبت میکند (از نویسه `%' برای شمارهگذاری فایلها استفاده کنید).
OPAMKEEPBUILDDIR گزینه نصب `--keep-build-dir' را ببینید.
OPAMKEEPLOGS به opam اعلام میکند که برخی لاگهای موقت دستورات و پشتیبانها را حذف نکند. این کار برخی اقدامات نهاییسازی را نادیده میگیرد و همچنین ممکن است به دریافت ردگیریهای معتبرتر از پشته فراخوانیها (backtraces) کمک کند.
OPAMLOCKED ترکیبی از گزینههای `--locked' و `--lock-suffix' است.
OPAMLOGS logdir دایرکتوری لاگ را تعیین میکند؛ مقدار پیشفرض یک دایرکتوری موقت در /tmp است
OPAMMAKECMD دستور make سیستمی مورد استفاده را مشخص میکند.
OPAMMERGEOUT خروجیهای فرآیند را ادغام میکند، یعنی انتقال stderr روی stdout.
OPAMNO به هر سؤالی پاسخ خیر میدهد، گزینههای `--no` و `--confirm-level` را ببینید. اگر هر یک از OPAMCONFIRMLEVEL یا OPAMYES تنظیم شده باشد، OPAMNO نادیده گرفته میشود.
OPAMNOAGGREGATE در هنگام اجرای `opam admin check'، بستهها را تجمیع نمیکند.
OPAMNOASPCUD منسوخ شده است.
OPAMNOAUTOUPGRADE ارتقای خودکار داخلی مخازن دارای قالب قدیمی به قالب فعلی را در هنگام اجرای 'update' یا 'init' غیرفعال میکند.
OPAMNOCHECKSUMS در صورت در دسترس بودن، گزینه --no-checksums را فعال میکند.
OPAMNODEPEXTS مدیریت وابستگیهای سیستمی را غیرفعال میکند، گزینه `--no-depexts' را ببینید.
OPAMNOENVNOTICE داخلی.
OPAMNOSELFUPGRADE گزینه `--no-self-upgrade' را ببینید
OPAMPINKINDAUTO مشخص میکند که آیا سامانههای کنترل نسخه هنگام پین کردن به یک مسیر محلی شناسایی شوند یا خیر. از نسخه 1.3.0 بهصورت پیشفرض فعال است.
OPAMPRECISETRACKING ردیابی دقیق و ریزدانه دایرکتوریها.
OPAMPREPRO برای غیرفعال کردن پیشپردازش CUDF این متغیر را روی false تنظیم کنید. کارایی کمتری دارد، اما ممکن است به اشکالزدایی مشکلات مربوط به حلکننده کمک کند.
OPAMREPOSITORYTARRING مخازن را بهصورت داخلی در قالب فایلهای tar.gz ذخیره میکند. این ویژگی میتواند روی سیستمهای فایلی که با پیمایش درختهای بزرگ دایرکتوری عملکرد خوبی ندارند اما حافظه موقت مناسبی در /tmp دارند بسیار سریعتر باشد. با این وجود در حالت کلی کندتر است.
OPAMREQUIRECHECKSUMS در صورت موجود بودن، گزینه `--require-checksums' را فعال میکند (برای مثال در `opam install').
OPAMRETRIES تعداد دفعات تلاش پیش از اعلام شکست در بارگیریها را مشخص میکند.
OPAMREUSEBUILDDIR گزینه `--reuse-build-dir' را ببینید.
OPAMROOT گزینه `--root' را ببینید. این متغیر بهصورت خودکار توسط `opam env --root=DIR --set-root' تنظیم میشود.
OPAMROOTISOK هنگام اجرا با دسترسی کاربر ریشه (root) هشداری نشان نمیدهد.
OPAMSAFE گزینه `--safe' را ببینید.
OPAMSHOW گزینه `--show' را ببینید.
OPAMSKIPUPDATE گزینه `--skip-updates' را ببینید.
OPAMSKIPVERSIONCHECKS برخی از بررسیهای نسخه را نادیده میگیرد. ناامن است و صرفاً برای آزمایش سازگاری کاربرد دارد.
OPAMSOLVERALLOWSUBOPTIMAL (پیشفرض `true') به برخی حلکنندهها اجازه میدهد در صورت اتمام مهلت زمانی (timeout)، همچنان پاسخی ارائه دهند؛ اگرچه تضمین میشود که پاسخ سازگار باشد، اما هیچ تضمینی نیست که با معیارهای بهینهسازی مورد انتظار مطابقت داشته باشد. در صورت `true' بودن، opam با یک پیام هشدار ادامه میدهد؛ در صورت `false' بودن، اتمام مهلت زمانی یک خطا در نظر گرفته میشود. در حال حاضر فقط بخش داخلی builtin-z3 این حالت تنزلیافته را مدیریت میکند.
OPAMSOLVERTIMEOUT مهلت زمانی مجاز برای حلکننده را تغییر میدهد. مقدار پیشفرض 60.0 است؛ برای مقدار نامحدود روی 0 تنظیم کنید. توجه داشته باشید که ممکن است همه حلکنندهها از این گزینه پشتیبانی نکنند.
OPAMSOLVERTOLERANCE میزان مدارا در قبال انتخاب راهحل غیربهینه توسط حلکننده را تغییر میدهد (بهعنوان مثال، ممکن است بستههای قدیمیتر را دریافت کند). مقادیر معمول بین 0.0 (بهترین راهحل شناختهشده برای حلکننده) تا 1.0 (راهحل بهینهنشده) متغیر است. مقدار پیشفرض 0.0 است. این گزینه زمانی مفید است که حلکننده نتواند در زمانی معقول راهحلی پیدا کند (به $OPAMSOLVERTIMEOUT مراجعه کنید). توجه داشته باشید که ممکن است همه حلکنندهها از این گزینه پشتیبانی نکنند.
OPAMSTATS در 2.4 حذف شد.
OPAMSTATUSLINE یک خط وضعیت پویا را در ترمینال نمایش میدهد که فرآیند جاری را نشان میدهد. (یکی از مقادیر always، never یا auto)
OPAMSTRICT در صورت بروز هرگونه ناسازگاری (خواندن فایل، وارد کردن switch و غیره) با خطا متوقف میشود.
OPAMSWITCH گزینه `--switch' را ببینید. بهصورت خودکار توسط `opam env --switch=SWITCH --set-switch' تنظیم میشود.
OPAMUNLOCKBASE گزینه نصب `--unlock-base' را ببینید.
OPAMUPGRADECRITERIA ترجیحات (preferences) کاربر را برای حل وابستگیها هنگام انجام ارتقا مشخص میکند. اگر هر دو تنظیم شده باشند، در هنگام ارتقا بر OPAMCRITERIA ارجحیت دارد. همچنین گزینه --criteria را ببینید.
OPAMUSEINTERNALSOLVER گزینه `--use-internal-solver' را ببینید.
OPAMUSEOPENSSL در 2.2 حذف شد.
OPAMUTF8 از نویسههای UTF8 در خروجی استفاده میکند (یکی از مقادیر always، never یا auto). بهصورت پیشفرض `auto' است که بر اساس locale تعیین میشود).
OPAMUTF8MSGS از نویسههای گسترشیافته UTF8 (شترها) در پیامهای opam استفاده میکند. مستلزم فعال بودن OPAMUTF8 است. این گزینه بهصورت پیشفرض تنها روی macOS فعال است.
OPAMVALIDATIONHOOK در صورت تنظیم، از دستور `%{hook%}' برای اعتبارسنجی بهروزرسانی مخزن opam استفاده میکند.
OPAMVERBOSE گزینه `--verbose' را ببینید.
OPAMVERBOSEON گزینه --verbose-on را ببینید
OPAMVERSIONLAGPOWER استفاده نکنید.
OPAMWITHDEVSETUP گزینه نصب `--with-dev-setup' را ببینید.
OPAMWITHDOC گزینه نصب `--with-doc' را ببینید.
OPAMWITHTEST گزینه نصب `--with-test را ببینید.
OPAMWORKINGDIR گزینه `--working-dir' را ببینید.
OPAMYES گزینههای `--yes' و `--confirm-level` را ببینید. متغیر OPAMYES نسبت به OPAMNO اولویت دارد و در صورت تنظیم بودن OPAMCONFIRMLEVEL نادیده گرفته میشود.
OPAMVAR_var محتوای متغیر var را هنگام جایگزینی رشتههای `%{var}%` در فایلهای `opam` بازنویسی میکند.
OPAMVAR_package_var محتوای متغیر package:var را هنگام جایگزینی رشتههای `%{package:var}%` در فایلهای `opam` بازنویسی میکند.
نسخه خط فرمان (CLI VERSION)
تمامی اسکریپتها و فراخوانیهای برنامهنویسیشدهی opam باید از `--cli' استفاده کنند تا اطمینان حاصل شود که با نسخههای آیندهی کلاینت opam بدون مشکل کار خواهند کرد. علاوه بر این، پستهای وبلاگی یا سایر مستندات نیز میتوانند از آن بهرهمند شوند، زیرا از کهنه شدن اطلاعات جلوگیری میکند.
اگرچه opam فقط از ریشهها (~/.opam/) برای نسخه کنونی پشتیبانی میکند، اما سازگاری با نسخههای پیشین را برای رابط خط فرمان خود فراهم میآورد.
از آنجا که پشتیبانی از نسخه رابط خط فرمان (CLI) تنها در opam 2.1 افزوده شده است، از OPAMCLI برای انتخاب پشتیبانی 2.0 استفاده کنید (چرا که opam 2.0 صرفاً آن را نادیده خواهد گرفت)، و از `--cli=2.1' برای نسخههای 2.1 (یا جدیدتر) استفاده نمایید، زیرا استفاده از متغیر محیطی برای کنترل تجزیه نحو شکننده و آسیبپذیر است. بدین منظور، اگر OPAMCLI نسخهای معتبر غیر از 2.0 را مشخص کند، و همچنین اگر `--cli=2.0' مشخص شده باشد، opam یک هشدار نمایش میدهد.
نسخه رابط خط فرمان با استفاده از گزینه `--cli' یا متغیر محیطی OPAMCLI انتخاب میشود. گزینه `--cli' ممکن است بیش از یک بار مشخص شود که در این حالت آخرین مورد اولویت دارد. متغیر OPAMCLI تنها در صورتی بررسی میشود که `--cli' داده نشده باشد.
وضعیت خروج (EXIT STATUS)
بهعنوان استثنایی بر موارد زیر، دستور `exec' در صورتی که دستور یافت نشود یا نتواند اجرا شود مقدار 127، و در غیر این صورت مقدار خروج خود دستور را برمیگرداند.
- 0
- موفقیت، یا درست (true) برای پرسوجوهای بولی.
- 1
- نادرست (False). زمانی بازگردانده میشود که یک مقدار بازگشتی بولی انتظار میرود، برای نمونه هنگام اجرا با --check، یا برای پرسوجوهایی مانند opam lint.
- 2
- آرگومانهای نامعتبر خط فرمان، یا آرگومانهای خط فرمانی که به یک زمینه نامعتبر اشاره دارند (برای نمونه فایلی که از قالب مورد انتظار پیروی نمیکند).
- 5
- یافت نشد. چیزی را درخواست کردهاید (بسته، نسخه، مخزن و غیره) که پیدا نشد.
- 10
- لغو شد. عملیات نیاز به تأیید داشت که داده نشد.
- 15
- امکان دریافت قفلهای مورد نیاز برای عملیات وجود نداشت.
- 20
- هیچ راهحلی برای درخواست کاربر وجود ندارد. این امر میتواند برای نمونه در اثر درخواست نصب دو بسته ناسازگار رخ دهد.
- 30
- خطا در تعریف بسته، یا سایر فایلهای فراداده (metadata). استفاده از --strict این خطا را بیشتر نمایش میدهد.
- 31
- خطای اسکریپت بسته. برخی از عملیاتهای بسته ناموفق بودند. این ممکن است ناشی از خطایی در بستهها یا ناسازگاری با سیستم شما باشد. این میتواند یک خطای جزئی باشد.
- 40
- خطای همگامسازی. دریافت برخی از مخازن دوردست (remotes) از شبکه امکانپذیر نبود. این میتواند یک خطای جزئی باشد.
- 50
- خطای پیکربندی. پیکربندی opam یا سیستم اجازه عملیات را نمیدهد و نیازمند رفع اشکال است.
- 60
- شکست حلکننده. حلکننده در بازگرداندن پاسخی درست و معتبر شکست خورد. این میتواند ناشی از یک حلکننده خارجی معیوب یا خطایی در پیکربندی حلکننده باشد.
- 99
- خطای داخلی. مشکلی رخ داد که احتمالاً ناشی از یک باگ در خود opam است.
- 130
- توقف توسط کاربر. سیگنال SIGINT دریافت شد، که عموماً ناشی از فشردن کلیدهای Ctrl-C توسط کاربر است.
- 0
- در صورت موفقیت.
- 123
- در صورت خطاهای نامشخص گزارششده روی خروجی خطای استاندارد (standard error).
- 124
- در صورت خطاهای تجزیه خط فرمان.
- 125
- در صورت خطاهای داخلی غیرمنتظره (باگها).
مستندات بیشتر (FURTHER DOCUMENTATION)
به https://opam.ocaml.org/doc مراجعه کنید.
نویسندگان (AUTHORS)
David Allsopp <david@tarides.com>
Vincent Bernardoff <vb@luminar.eu.org>
Raja Boujbel <raja.boujbel@ocamlpro.com>
Kate Deplaix <kit-ty-kate@outlook.com>
Roberto Di Cosmo <roberto@dicosmo.org>
Thomas Gazagnaire <thomas@gazagnaire.org>
Louis Gesbert <louis.gesbert@ocamlpro.com>
Fabrice Le Fessant <Fabrice.Le_fessant@inria.fr>
Anil Madhavapeddy <anil@recoil.org>
Guillem Rieu <guillem.rieu@ocamlpro.com>
Ralf Treinen <ralf.treinen@pps.jussieu.fr>
Frederic Tuong <tuong@users.gforge.inria.fr>
همچنین ببینید (SEE ALSO)
opam(1)
اشکالات (BUGS)
گزارشهای باگ را در https://github.com/ocaml/opam/issues بررسی کنید.
| Opam 2.5.2 |