| SHARDS(1) | Shards Manual | SHARDS(1) |
نام (NAME)
shards - مدیر وابستگیهای زبان Crystal
خلاصه دستور (SYNOPSIS)
shards [<general_options>...] [<command>] [<command_options>...]
توضیحات (DESCRIPTION)
وابستگیهای پروژهها و کتابخانههای Crystal را با امکان نصبهای تکرارپذیر در میان رایانهها و سیستمهای گوناگون مدیریت میکند.
نحوه استفاده (USAGE)
shards به وجود یک فایل shard.yml در پوشهٔ پروژه (دایرکتوری کاری) نیاز دارد. این فایل پروژه را توصیف کرده و وابستگیهای لازم برای ساخت آن را فهرست میکند. برای اطلاعات بیشتر دربارهٔ قالب آن، shard.yml(5) را ببینید. یک فایل پیشفرض را میتوان با اجرای shards init ایجاد کرد.
اجرای shards install وابستگیهای مشخصشده را حلوفصل و نصب میکند. نگارشهای نصبشده در یک فایل shard.lock نوشته میشوند تا هنگام اجرای مجدد shards install، دقیقاً از همان نگارشهای وابستگی استفاده شود.
اگر شارد شما یک برنامه کاربردی میسازد، هر دو فایل shard.yml و shard.lock باید در سیستم کنترل نسخه ثبت شوند تا نصب تکرارپذیر وابستگیها تضمین گردد. اگر این پروژه صرفاً کتابخانهای است که دیگر شاردها به آن وابسته هستند، shard.lock نباید ثبت شود و تنها shard.yml باید در کنترل نسخه قرار گیرد. توصیه میشود آن را به .gitignore اضافه کنید.
دستورها (COMMANDS)
اگر هیچ commandی داده نشود، دستور install بهطور پیشفرض اجرا خواهد شد.
برای مشاهدهٔ گزینههای موجود برای یک دستور مشخص، از --help پس از دستور استفاده کنید.
build [<targets>] [<build_options>...]
تمامی گزینههای <build_options> که پس از این دستور میآیند به crystal build واگذار میشوند.
check
وضعیت خروج:
0
1
init
install [--frozen] [--without-development] [--production] [--skip-postinstall] [--skip-executables] [--jobs=N]
در صورت وجود فایل shard.lock، نگارشها و کامیتهای قفلشده را خوانده و اعمال میکند. در صورتی که یک نگارش قفلشده با نیازمندی مطابقت نداشته باشد ممکن است دستور install شکست بخورد، اما در صورتی که وابستگی جدیدی اضافه شده باشد، تا زمانی که تداخلی ایجاد نکند موفق خواهد شد و یک فایل shard.lock جدید تولید خواهد کرد.
--frozen
--without-development
--production
--skip-postinstall
--skip-executables
--jobs
list [--tree]
مشخص کردن --tree وابستگیهای تو در تو را به جای یک فهرست مسطح، به صورت درختی مرتب میکند.
lock [--update [<shards>...]]
مشخص کردن --update از همان رفتار دستور update پیروی میکند.
outdated [--pre]
هنگامی که --pre مشخص شود، نگارشهای پیشانتشار نیز در نظر گرفته میشوند.
prune
update [<shards>...]
مشخص کردن shards فقط این وابستگیها را بهروزرسانی میکند و تلاش میکند تا جای ممکن در قبال سایر وابستگیها محتاطانه عمل کرده و به نگارشهای قفلشده در فایل shard.lock پایبند بماند.
version [<path>]
برای مشاهدهٔ گزینههای موجود برای یک دستور مشخص، از --help پس از دستور استفاده کنید.
گزینههای عمومی (GENERAL OPTIONS)
--version
-h, --help
--no-color
--local
-q, --quiet
-v, --verbose
نصب (INSTALLATION)
معمولاً Shards همراه با خود Crystal توزیع میشود. در غیر این صورت، ممکن است بستهٔ shards جداگانهای برای سیستم شما موجود باشد.
برای نصب از کد مبدأ، مخزن https://github.com/crystal-lang/shards را بارگیری یا clone کنید و دستور make CRFLAGS=--release را اجرا کنید. باینری کامپایلشده در bin/shards قرار دارد و باید به PATH اضافه شود.
متغیرهای محیطی (ENVIRONMENT VARIABLES)
SHARDS_OPTS
SHARDS_CACHE_PATH
SHARDS_INSTALL_PATH
SHARDS_BIN_PATH
CRYSTAL_VERSION
SHARDS_OVERRIDE
فایلها (FILES)
shard.yml
shard.override.yml
این فایل حاوی یک سند YAML با یک کلید واحدِ dependencies است. معنای آن همانند آنچه در shard.yml آمده میباشد. پیکربندی وابستگی در این فایل بر پیکربندی موجود در shard.yml یا هر shard.yml متعلق به وابستگیها اولویت دارد.
موارد کاربرد آن شامل رونوشتهای کاری محلی، تحمیل یک نگارش خاص از وابستگی علیرغم محدودیتهای ناسازگار، اصلاح یک وابستگی، و بررسی سازگاری با نگارشهای منتشرنشدهٔ وابستگیها است.
shard.lock
اگر شارد شما یک برنامه کاربردی میسازد، shard.lock باید در کنترل نسخه ثبت شود تا نصب تکرارپذیر وابستگیها تضمین گردد.
اگر صرفاً کتابخانهای برای وابستگی دیگر شاردها است، shard.lock نباید ثبت شود و تنها shard.yml ثبت گردد. توصیه میشود که آن را به .gitignore اضافه کنید.
گزارش باگها (BUGS)
گزارش باگهای shards به https://github.com/crystal-lang/shards/issues
صفحهٔ اصلی زبان Crystal: https://crystal-lang.org
کپیرایت و تکثیر (COPYRIGHT)
حق نشر © 2025 Julien Portalier.
مجوز Apache 2.0 http://www.apache.org/licenses/LICENSE-2.0
این نرمافزار آزاد است: شما در تغییر و بازتوزیع آن آزاد هستید. هیچ ضمانتی وجود ندارد، تا حدی که قانون اجازه میدهد.
نویسندگان (AUTHORS)
نوشته شده توسط Julien Portalier و پروژهٔ Crystal.
همچنین ببینید (SEE ALSO)
| 2025-01-23 | shards 0.19.1 |