| DUNE-INSTALL(1) | Dune Manual | DUNE-INSTALL(1) |
نام (NAME)
dune-install - نصب بستههای تعریفشده در فضای کاری
خلاصه دستور (SYNOPSIS)
دایرکتوریهای نصب استفادهشده، بر اساس اولویت مشخص میشوند:
- دایرکتوریهای تنظیمشده در خط فرمان dune install، یا متغیرهای محیطی متناظر
- دایرکتوریهای تعیینشده در باینری dune؛ این موارد پیش از کامپایل dune با ./configure تنظیم میشوند
- استخراجشده از متغیر محیطی OPAM_SWITCH_PREFIX در صورت وجود
گزینهها (OPTIONS)
- --action-stderr-on-success=VAL
- مشابه --action-stdout-on-success اما برای خطای استاندارد بهجای خروجی استاندارد. یک پیشفرض مناسب برای تکمخزنهای بزرگ (monorepos)، گزینهٔ --action-stdout-on-success=swallow --action-stderr-on-success=must-be-empty است. این کار تضمین میکند که یک ساخت موفقیتآمیز، خروجی خالی و «تمیز» داشته باشد.
- --action-stdout-on-success=VAL
- تعیین نحوهٔ برخورد با خروجی استاندارد کنشها در صورت موفقیت آنها. مقادیر ممکن عبارتند از: print برای چاپ صرف آن در خروجی Dune، گزینهٔ swallow برای نادیده گرفتن کامل آن و must-be-empty برای الزام به اینکه کنش نباید چیزی چاپ کرده باشد. با انتخاب must-be-empty، اگر کنش چیزی در خروجی استاندارد خود چاپ کند، Dune آن را ناموفق در نظر خواهد گرفت. پیشفرض print است.
- --bindir=PATH
- بازنویسی دستی دایرکتوری برای نصب فایلهای اجرایی عمومی (binaries). تنها مسیر مطلق پذیرفته میشود.
- --build-info
- نمایش اطلاعات ساخت.
- --context=CONTEXT
- انتخاب بستر (context) برای نصب از آن. بهطور پیشفرض، فایلها از تمام بسترهای تعریفشده نصب میشوند.
- --create-install-files
- بهجای نصب مستقیم، فایلهای نصب را در دایرکتوری ریشه ایجاد میکند و در صورت نیاز فایلهای جایگزینشده را در destdir (بهطور پیشفرض _destdir) میسازد.
- --datadir=PATH
- بازنویسی دستی دایرکتوری برای نصب فایلها از بخش share. تنها مسیر مطلق پذیرفته میشود.
- --destdir=PATH (در صورت عدم تعیین، متغیر محیطی DESTDIR)
- این دایرکتوری به ابتدای تمام مسیرهای نصب اضافه میشود.
- --display-separate-messages
- جداسازی پیامهای خطا با یک خط خالی.
- --docdir=PATH
- بازنویسی دستی دایرکتوری برای نصب فایلهای مستندات. تنها مسیر مطلق پذیرفته میشود.
- --dry-run
- صرفاً نمایش عملیاتهای فایلی که قرار بود انجام شوند.
- --error-reporting=VAL (در صورت عدم تعیین=deterministic)
- زمان گزارش خطاهای ساخت را کنترل میکند. مقدار early خطاها را به محض کشف شدن گزارش میدهد. مقدار deterministic خطاها را در پایان ساخت با ترتیبی قطعی گزارش میکند. مقدار twice هر خطا را دو بار گزارش میدهد: یک بار به محض کشف خطا، و بار دیگر در پایان ساخت با ترتیبی قطعی.
- --etcdir=PATH
- بازنویسی دستی دایرکتوری برای نصب فایلهای پیکربندی. تنها مسیر مطلق پذیرفته میشود.
- -f, --force
- اجبار به اجرای مجدد کنشهای مرتبط با نامهای مستعار (aliases)، حتی اگر وابستگیهای آنها تغییری نکرده باشد.
- --file-watcher=VAL (در صورت عدم تعیین=automatic)
- سازوکار تشخیص تغییرات در مبدأ کد (source). مقدار automatic برای اجرای یک برنامهٔ خارجی توسط dune جهت تشخیص تغییرات است. مقدار manual برای اطلاعرسانی دستی تغییر فایلها به dune استفاده میشود.
- --libdir=PATH
- دایرکتوری کپی فایلهای کتابخانه، بهصورت نسبی نسبت به prefix یا مطلق. اگر --prefix مشخص شده باشد، پیشفرض $prefix/lib خواهد بود. تنها مسیر مطلق پذیرفته میشود.
- --libexecdir=PATH
- بازنویسی دستی دایرکتوری برای نصب فایلهای اجرایی کتابخانهای. تنها مسیر مطلق پذیرفته میشود.
- --mandir=PATH
- بازنویسی دستی دایرکتوری برای نصب صفحات راهنما (man pages). تنها مسیر مطلق پذیرفته میشود.
- --passive-watch-mode
- مشابه [--watch]، اما ساخت را تنها زمانی آغاز میکند که از طریق یک فراخوانی RPC دستور خارجی دریافت کند.
- --prefix=PREFIX (در صورت عدم تعیین، متغیر محیطی DUNE_INSTALL_PREFIX)
- دایرکتوری کپی فایلها. برای نمونه، فایلهای اجرایی در $prefix/bin، فایلهای کتابخانهای در $prefix/lib و غیره کپی میشوند.
- --relocatable
- فایلهای باینری را جابهجاییپذیر (relocatable) میکند (دایرکتوری نصب قابل انتقال خواهد بود). دایرکتوری نصب باید با --prefix مشخص شود.
- --sandbox=VAL (در صورت عدم تعیین، متغیر محیطی DUNE_SANDBOX)
- تنظیم حالت ایزولهسازی (sandboxing). برخی کنشها نیازمند حالت خاصی از ایزولهسازی هستند، بنابراین این تنظیم را نادیده میگیرند. مقادیر مجاز عبارتند از: none، symlink، copy، hardlink.
- --sbindir=PATH
- بازنویسی دستی دایرکتوری برای نصب فایلها از بخش sbin. تنها مسیر مطلق پذیرفته میشود.
- --sections=VAL
- بخشهایی که باید نصب شوند.
- --stop-on-first-error
- متوقف کردن فرآیند ساخت به محض مواجهه با نخستین خطا.
- -w, --watch
- بهجای خاتمه دادن به ساخت پس از اتمام، بهطور مداوم منتظر تغییرات فایلها میماند.
- --wait-for-filesystem-clock
- ابزار Dune برای پردازش افزایشی بهتر، محتوای فایلها را خلاصهسازی (digest) میکند. این خلاصهها خودشان کش میشوند. در برخی موارد، Dune برای اطمینان از صحت عملکرد ناچار است برخی از مدخلهای کش خلاصه را حذف کند. این گزینه باعث میشود Dune منتظر پیش رفتن ساعت سیستم فایل بماند تا نیازی به دور ریختن هیچ موردی نداشته باشد. معمولاً نیازی به این گزینه نخواهید داشت؛ این گزینه بیشتر برای توسعهدهندگان Dune کاربرد دارد تا آزمونهای Dune روی کش خلاصه بازتولیدپذیرتر باشند..SH "گزینههای عمومی (COMMON OPTIONS)"
این گزینهها بین تمامی دستورها مشترک هستند.
- --always-show-command-line
- همیشه خط فرمان کامل برنامههای اجراشده توسط dune را نمایش میدهد.
- --auto-promote
- ارتقای خودکار فایلها. این کار مشابه اجرای dune promote پس از ساخت است.
- --build-dir=FILE (در غیاب متغیر محیطی DUNE_BUILD_DIR)
- دایرکتوری ساخت مشخصشده. در صورت مشخص نشدن، پیشفرض _build است.
- --cache=VAL (در غیاب متغیر محیطی DUNE_CACHE)
- فعال یا غیرفعال کردن کَش Dune (یکی از مقادیر disabled، enabled-except-user-rules یا enabled). مقدار پیشفرض `enabled-except-user-rules' است.
- --cache-check-probability=VAL (در غیاب متغیر محیطی DUNE_CACHE_CHECK_PROBABILITY)
- بررسی بازتولیدپذیری ساخت با اجرای دوباره قواعد انتخابشده بهصورت تصادفی و مقایسه نتایج آنها با موارد ذخیرهشده در کَش Dune. نکته: افزایش احتمال این بررسیها سرعت ساخت را کاهش میدهد. احتمال پیشفرض صفر است، یعنی هیچ قاعدهای بررسی نمیشود.
- --cache-storage-mode=VAL (در غیاب متغیر محیطی DUNE_CACHE_STORAGE_MODE)
- حالت ذخیرهسازی کَش Dune (یکی از مقادیر auto، hardlink یا copy). مقدار پیشفرض `hardlink' است.
- --config-file=FILE
- بارگذاری این فایل پیکربندی به جای فایل پیشفرض.
- --debug-backtraces
- همیشه ردپای پشته استثناها (backtraces) چاپ شود.
- --debug-dependency-path
- در صورت بروز خطا، چاپ مسیر وابستگی از هدفهای خط فرمان تا قاعدهای که شکست خورده است.
- --debug-package-logs (در غیاب متغیر محیطی DUNE_DEBUG_PACKAGE_LOGS)
- همیشه لاگهای استاندارد هنگام ساخت بستهها چاپ شوند
- --default-target=TARGET (در صورت عدم تعیین=@@default)
- تنظیم هدف پیشفرضی که در صورت مشخص نشدن هیچ هدفی در dune build استفاده میشود.
- --diff-command=VAL (در غیاب متغیر محیطی DUNE_DIFF_COMMAND)
- دستور شل مورد استفاده برای مقایسه فایلها (diff). از - برای غیرفعال کردن چاپ تفاوتها استفاده کنید.
- --disable-promotion (در غیاب متغیر محیطی DUNE_DISABLE_PROMOTION)
- غیرفعال کردن تمام قواعد ارتقا (promotion)
- --display=MODE
- کنترل حالت نمایش Dune. برای جزئیات بیشتر dune-config(5) را ببینید. مقادیر معتبر برای این گزینه عبارتند از: progress، verbose، short، quiet یا tui.
- --dump-gc-stats=FILE
- ذخیره آمار زبالهروب (garbage collector) در یک فایل پس از اتمام ساخت.
- --help[=FMT] (پیشفرض=auto)
- نمایش این راهنما در قالب FMT. مقدار FMT باید یکی از مقادیر auto، pager، groff یا plain باشد. با مقدار auto، هر زمان که متغیر محیطی TERM برابر dumb یا تعریفنشده باشد، قالب برابر pager یا plain خواهد بود.
- --ignore-promoted-rules
- نادیده گرفتن قواعد دارای (mode promote)، بهجز مواردی که شامل (only ...) هستند. متغیر %{ignoring_promoted_rules} در فایلهای dune نشاندهنده داده شدن یا نشدن این گزینه است.
- --instrument-with=BACKENDS (در غیاب متغیر محیطی DUNE_INSTRUMENT_WITH)
- فعالسازی ابزاردقیقسازی (instrumentation) توسط BACKENDS. مقدار BACKENDS فهرستی از نامهای کتابخانهها است که با کاما از هم جدا شدهاند، و هر کدام باید یک پسبند ابزاردقیقسازی را اعلان کرده باشند.
- -j JOBS (در غیاب متغیر محیطی DUNE_JOBS)
- اجرای همزمان حداکثر JOBS دستور. مقدار JOBS باید یک عدد صحیح مثبت یا auto برای تشخیص خودکار تعداد هستهها (پیشفرض) باشد.
- --no-buffer
- خروجی دستورهای اجراشده توسط dune بافر نشود. بهطور پیشفرض، dune خروجی زیردستورها را بافر میکند تا در صورت اجرای موازی چند دستور، از درهمآمیختگی آنها جلوگیری شود. با این حال، این امر هنگام اشکالزدایی آزمونهای طولانی میتواند مشکلساز باشد. با گزینه --no-buffer، دستورها دسترسی مستقیم به ترمینال خواهند داشت. توجه داشته باشید که در نتیجه، خروجی آنها در فایل لاگ ثبت نخواهد شد. بهتر است این گزینه را به همراه -j 1 به کار ببرید تا از تداخل خروجیها جلوگیری شود. علاوه بر این، باید از --verbose نیز استفاده کنید تا مطمئن شوید دستورها پیش از اجرا چاپ میشوند.
- --no-config
- بارگذاری نکردن فایل پیکربندی
- --no-print-directory
- نادیده گرفتن و جلوگیری از چاپ پیامهای "Entering directory".
- --only-packages=PACKAGES
- نادیده گرفتن بندهایی (stanzas) که به بستهای خارج از PACKAGES ارجاع میدهند. مقدار PACKAGES فهرستی از نام بستههاست که با کاما از هم جدا شدهاند. توجه داشته باشید که این کار تاثیری مشابه با حذف بندهای مربوطه از فایلهای dune دارد. این گزینه بیشتر برای انتشار نسخهها در نظر گرفته شده است. در طول توسعه، معمولاً آنچه نیاز دارید ساخت یک هدف خاص مانند <package>.install است.`
- -p PACKAGES, --for-release-of-packages=PACKAGES (الزامی)
- کوتاهنوشتی برای --release --pkg=disabled --only-packages PACKAGE. باید از این گزینه در فایلهای <package>.opam خود استفاده کنید تا در پروژههایی با چندین بسته، تنها موارد لازم ساخته شوند و ساختهای بازتولیدپذیر تضمین گردند.
- --pkg=VAL
- فعال یا غیرفعال کردن مدیریت بسته. رفتار پیشفرض به وجود یا عدم وجود دایرکتوری lock بستگی دارد.
- --profile=VAL (در غیاب متغیر محیطی DUNE_PROFILE)
- انتخاب نمایه (profile) ساخت؛ برای مثال dev یا release. مقدار پیشفرض dev است.
- --promote-install-files[=VAL] (پیشفرض=true)
- ارتقای تمام فایلهای تولیدشده <package>.install به درخت منبع پروژه.
- --release
- قرار دادن dune در حالت بازتولیدپذیر release. کوتاهنوشتی برای --root . --ignore-promoted-rules --no-config --profile release --always-show-command-line --promote-install-files --require-dune-project-file --default-target @install. باید از این گزینه برای ساختهای انتشار استفاده کنید. به عنوان مثال، استفاده از این گزینه در فایلهای <package>.opam الزامی است؛ مگر اینکه قبلاً از -p استفاده کرده باشید، چرا که -p خود متضمن این گزینه است.
- --require-dune-project-file[=VAL] (پیشفرض=true)
- در صورت وجود نداشتن فایل dune-project، با خطا متوقف شود.
- --root=DIR (در غیاب متغیر محیطی DUNE_ROOT)
- استفاده از این دایرکتوری به عنوان ریشه فضای کاری به جای حدس زدن آن. توجه داشته باشید که این گزینه تفسیری که از هدفهای مشخصشده در خط فرمان میشود را تغییر نمیدهد. این گزینه فقط برای اسکریپتها در نظر گرفته شده است.
- --store-orig-source-dir (در غیاب متغیر محیطی DUNE_STORE_ORIG_SOURCE_DIR)
- ذخیره مکان اصلی منبع در فرادادههای dune-package.
- --target-exec=TOOLCHAIN=CMD (در غیاب متغیر محیطی DUNE_TARGET_EXEC)
- دستور پوششدهنده (wrapper) برای اجرای باینریهای هدف هنگام کامپایل متقابل (cross-compiling). قالب: TOOLCHAIN=CMD (به عنوان مثال، 'windows=wine').
- --terminal-persistence=MODE
- تغییر نحوه نمایش لاگ نتایج ساخت در کنسول بین ساختهای مجدد در حالت --watch. حالتهای پشتیبانیشده: preserve، clear-on-rebuild، clear-on-rebuild-and-flush-history.
- --trace-file=FILE
- خروجی دادن دادههای ردیابی در قالب catapult (سازگار با chrome://tracing).
- --verbose
- یکسان با --display verbose
- --version
- نمایش اطلاعات نسخه.
- --watch-exclusions=REGEX
- افزودن یک عبارت باقاعده POSIX که دایرکتوریهای منطبق را از `dune build --watch` مستثنی میکند. گزینه --watch-exclusions برای افزودن چندین استثنا میتواند تکرار شود. همچنین میتوان از نقطهویرگول به عنوان جداکننده استفاده کرد. اگر هیچ استثنایی مشخص نشود، از یک مجموعه استاندارد از استثناها استفاده میشود؛ اما اگر از یک یا چند --watch-exclusions استفاده شود، هیچیک از استثناهای استاندارد اعمال نخواهند شد. استثناهای استاندارد عبارتند از: ^_opam /_opam ^_esy /_esy ^\.#.* /\.#.* ~$ ^#[^#]*#$ /#[^#]*#$ ^4913$ /4913$ /.git /.hg :/windows
- --workspace=FILE (در غیاب متغیر محیطی DUNE_WORKSPACE)
- استفاده از این فایل مشخص فضای کاری به جای جستجوی آن.
- -x VAL (در غیاب متغیر محیطی DUNE_CROSS_TARGET)
- کامپایل متقابل با استفاده از این زنجیره ابزار (toolchain)..SH "راهنمای بیشتر (MORE HELP)"
برای دریافت راهنما درباره یک دستور مشخص، از `dune COMMAND --help' استفاده کنید.
وضعیت خروج (EXIT STATUS)
dune install با این مقادیر خارج میشود:
- 0
- در صورت موفقیت.
- 1
- در صورت بروز خطا.
- 130
- اگر توسط یک سیگنال متوقف شده باشد.
محیط (ENVIRONMENT)
این متغیرهای محیطی بر اجرای install تأثیر میگذارند:
- DESTDIR
- گزینهٔ --destdir را ببینید.
- DUNE_BUILD_DIR
- دایرکتوری ساخت مشخصشده. در صورت مشخص نشدن، _build در نظر گرفته میشود.
- DUNE_CACHE
- فعال یا غیرفعال کردن حافظه پنهان Dune (یکی از مقادیر disabled، enabled-except-user-rules یا enabled). مقدار پیشفرض `enabled-except-user-rules' است.
- DUNE_CACHE_CHECK_PROBABILITY
- بررسی بازتولیدپذیری ساخت با اجرای دوبارهٔ قواعد تصادفی انتخابشده و مقایسه نتایج آنها با موارد ذخیرهشده در حافظه پنهان Dune. نکته: افزایش احتمال چنین بررسیهایی روند ساخت را کندتر میکند. احتمال پیشفرض صفر است، یعنی هیچ قاعدهای بررسی نمیشود.
- DUNE_CACHE_STORAGE_MODE
- حالت ذخیرهسازی حافظه پنهان Dune (یکی از موارد auto، hardlink یا copy). مقدار پیشفرض `hardlink' است.
- DUNE_CROSS_TARGET
- کامپایل متقابل (Cross-compile) با استفاده از این زنجیره ابزار (toolchain).
- DUNE_DEBUG_PACKAGE_LOGS
- چاپ همیشگی گزارشهای استاندارد هنگام ساخت بستهها.
- DUNE_DIFF_COMMAND
- دستور شل برای مقایسه تفاوت (diff) فایلها. از - برای غیرفعال کردن چاپ تفاوتها استفاده کنید.
- DUNE_DISABLE_PROMOTION
- غیرفعال کردن تمام قوانین ارتقا (promotion rules).
- DUNE_INSTALL_PREFIX
- گزینهٔ --prefix را ببینید.
- DUNE_INSTRUMENT_WITH
- فعالسازی سازوکار سنجش کد (instrumentation) توسط BACKENDS. مقدار BACKENDS فهرستی از نامهای کتابخانه است که با کاما از یکدیگر جدا شدهاند و هرکدام باید یک بکاند سنجش را تعریف کنند.
- DUNE_JOBS
- اجرای حداکثر JOBS دستور بهصورت همزمان. مقدار JOBS باید یک عدد صحیح مثبت یا auto برای تشخیص خودکار تعداد هستهها (پیشفرض) باشد.
- DUNE_PROFILE
- پروفایل ساخت. در صورت عدم تعیین dev، یا در صورت تنظیم -p مقدار release خواهد بود.
- DUNE_ROOT
- استفاده از این دایرکتوری بهعنوان ریشه فضای کاری بهجای حدس زدن آن. توجه داشته باشید که این گزینه تفسیر اهداف ارائهشده در خط فرمان را تغییر نمیدهد. این متغیر فقط برای اسکریپتها در نظر گرفته شده است.
- DUNE_SANDBOX
- حالت سندباکس برای استفاده بهصورت پیشفرض. (--sandbox را ببینید)
- DUNE_STORE_ORIG_SOURCE_DIR
- ذخیره مکان اصلی مبدأ در متادیتای dune-package.
- DUNE_TARGET_EXEC
- دستور پوششدهنده (wrapper) برای اجرای باینریهای مقصد هنگام کامپایل متقابل. قالب: TOOLCHAIN=CMD (مثلاً 'windows=wine').
- DUNE_WORKSPACE
- استفاده از این فایل فضای کاری مشخص بهجای جستجوی آن.
گزارش باگها (BUGS)
گزارشهای باگ را در https://github.com/ocaml/dune/issues بررسی کنید.
همچنین ببینید (SEE ALSO)
dune(1)
| Dune 3.24.2 |