'\" t .\" Title: ruby-build .\" Author: Mislav Marohnić .\" Generator: Asciidoctor 2.0.26 .\" Date: 2026-05-07 .\" Manual: ruby-build Manual .\" Source: ruby-build 20260520 .\" Language: Persian .\" .TH "RUBY\-BUILD" "1" "2026-05-07" "ruby\-build 20260520" "ruby\-build Manual" .ie \n(.g .ds Aq \(aq .el .ds Aq ' .ss \n[.ss] 0 .nh .ad l .de URL \fI\\$2\fP <\\$1>\\$3 .. .als MTO URL .if \n[.g] \{\ . mso www.tmac . am URL . ad l . . . am MTO . ad l . . . LINKSTYLE blue R < > .\} .SH "نام (NAME)" ruby-build \- بارگیری، کامپایل و نصب نسخه‌ای از Ruby .SH "خلاصه دستور (SYNOPSIS)" .sp ruby\-build [\-dvpk] \fI\fP \fI\fP [\-\- \fI\fP.\|.\|.] .br ruby\-build {\-\-list|\-\-definitions} .br ruby\-build \-\-resolve \fI\fP .br ruby\-build \-\-version .SH "توضیحات (DESCRIPTION)" .sp دستور ruby\-build نسخه‌ای از Ruby را که توسط آرگومان \fIdefinition\fP تعیین شده است، بارگیری و کامپایل کرده و در مکان مشخص‌شده توسط \fIprefix\fP نصب می‌کند. .sp آرگومان \fIdefinition\fP می‌تواند مسیر فایلی روی دیسک باشد، که در این صورت مانند یک اسکریپت bash درون ruby\-build بارگذاری (source) می‌شود. .sp به‌طور اختیاری، می‌توان آرگومان‌های پیکربندی اضافی Ruby تحت عنوان \fIconfigure\-args\fP را پس از «\-\-» قید کرد تا به فراخوانی \f(CR./configure\fP ارسال شوند. .sp به‌طور پیش‌فرض، تمام خروجی کامپایل به یک فایل لاگ در \f(CR$TMPDIR/ruby\-build.*.log\fP هدایت می‌شود. برای صرف‌نظر از فایل لاگ و چاپ همه چیز در جریان‌های استاندارد، حالت پرگو (verbose) را فعال کنید. .SH "نسخه‌های روبی (RUBY VERSIONS)" .sp هنگام فهرست کردن «جدیدترین» نسخه‌های Ruby، مانند آنچه در خروجی \f(CR\-\-list\fP مشاهده می‌شود، ruby\-build تنها از نسخه‌هایی از Ruby آگاه است که همراه با این پروژه ارائه شده‌اند. این بدان معناست که با انتشار یک نسخه جدید از Ruby، ruby\-build بلافاصله از آن مطلع نخواهد شد؛ شما باید ruby\-build را ارتقا دهید تا بتوانید از آن برای نصب نسخه جدید Ruby استفاده کنید. .SH "پیاده‌سازی‌های روبی (RUBY IMPLEMENTATIONS)" .sp ابزار ruby\-build همراه با تعاریفی برای پیاده‌سازی‌های زیر از Ruby عرضه می‌شود: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} CRuby، که با نام «MRI» نیز شناخته می‌شود: با شماره نسخه‌هایی در قالب «X.Y.Z» مشخص می‌شود. این پیاده‌سازی اصلی Ruby است که بیشتر افراد از آن استفاده می‌کنند. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} "jruby": پیاده‌سازی با کارایی بالای Ruby با ریسه‌بندی واقعی (real threading) که بر روی ماشین مجازی جاوا (JVM) ساخته شده است. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} "mruby": نگارش سبک‌وزن Ruby برای ریزکنترل‌گرها. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} "picoruby": پیاده‌سازی جایگزین mruby برای ریزکنترل‌گرهای تک‌تراشه‌ای. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} "truffleruby": توزیع بومی و مستقل (Native standalone) از TruffleRuby؛ پیاده‌سازی Ruby بر بستر چارچوب Truffle در GraalVM. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} "truffleruby+graalvm": توزیع مستقل مبتنی بر JVM از TruffleRuby. .RE .sp آرگومان \fIdefinition\fP می‌تواند به‌صورت اختیاری با "ruby\-" آغاز شود، که در این صورت به یک نگارش از CRuby که با شماره نسخه پس از آن مطابقت دارد برگردانده (resolve) می‌شود. آرگومان \fIdefinition\fP همچنین می‌تواند نام یکی از پیاده‌سازی‌های جایگزین Ruby باشد، که در این صورت آخرین نسخه از آن پیاده‌سازی نصب خواهد شد..SH "گزینه‌ها (OPTIONS)" .sp \fB\-l, \-\-list\fP .RS 4 فهرست کردن آخرین انتشارهای پایدار برای هر Ruby .RE .sp \fB\-\-definitions\fP .RS 4 فهرست کردن تمام تعاریف محلی، از جمله موارد منسوخ یا قدیمی .RE .sp \fB\-\-resolve\fP .RS 4 چاپ نام تعریف مربوط به آخرین نسخه پایدار Ruby منطبق با آرگومان \fIversion\fP .RE .sp \fB\-\-version\fP .RS 4 نمایش نسخه ruby\-build .RE .sp \fB\-d, \-\-dir\fP .RS 4 نصب Ruby در مقصد \fIprefix/definition\fP به‌جای نصب مستقیم در \fIprefix\fP .RE .sp \fB\-v, \-\-verbose\fP .RS 4 حالت پرگو: هدایت تمام خروجی‌های فرآیند ساخت به stdout/stderr .RE .sp \fB\-p, \-\-patch\fP .RS 4 اعمال یک وصله (patch) از طریق ورودی استاندارد (stdin) پیش از ساخت .RE .sp \fB\-k, \-\-keep\fP .RS 4 حفظ درخت منبع (source tree) پس از اتمام نصب .RE .sp \fB\-4, \-\-ipv4\fP .RS 4 تفکیک و تبدیل نام‌ها تنها به آدرس‌های IPv4 .RE .sp \fB\-6, \-\-ipv6\fP .RS 4 تفکیک و تبدیل نام‌ها تنها به آدرس‌های IPv6 .RE .SH "مثال‌ها (EXAMPLES)" .sp نصب یک نسخه از Ruby ضمن اعمال تغییرات در برخی گزینه‌های پیکربندی: .sp .if n .RS 4 .nf .fam C $ ruby\-build 3.4.9 /path/to/destination \-\- \-\-disable\-install\-doc \-\-with\-openssl\-dir=/opt/openssl .fam .fi .if n .RE .sp نصب یک نسخه Ruby در \f(CR~/.rubies/ruby\-3.4.9\fP: .sp .if n .RS 4 .nf .fam C $ ruby\-build \-\-dir ruby\-3.4.9 ~/.rubies .fam .fi .if n .RE .sp نصب آخرین نسخه Ruby 3.x در \f(CR~/.rubies/ruby\-3.x.y\fP: .sp .if n .RS 4 .nf .fam C $ ruby\-build \-\-dir ruby\-3 ~/.rubies .fam .fi .if n .RE .sp نصب یک نسخه Ruby در \f(CR~/.rbenv/versions/3.3.11\fP: .sp .if n .RS 4 .nf .fam C $ ruby\-build \-\-dir 3.3.11 ~/.rbenv/versions .fam .fi .if n .RE .sp استفاده به‌صورت افزونه rbenv، که نتیجه‌ای یکسان با مثال پیشین دارد: .sp .if n .RS 4 .nf .fam C $ rbenv install 3.3.11 .fam .fi .if n .RE.SH "متغیرهای محیطی (ENVIRONMENT VARIABLES)" .sp \fBTMPDIR\fP .RS 4 مکان نوشتن فایل‌های موقت روی دیسک .RE .sp \fBRUBY_BUILD_BUILD_PATH\fP (پیش‌فرض: یک زیردایرکتوری با برچسب زمان در \fITMPDIR\fP) .RS 4 مکان ساخت برای دانلود فایل‌های منبع به آن و کامپایل کردن .RE .sp \fBRUBY_BUILD_CACHE_PATH\fP (پیش‌فرض: "~/.rbenv/cache" در صورت فراخوانی به عنوان افزونهٔ rbenv) .RS 4 محل ذخیرهٔ موقت (کَش) فایل‌های بسته‌های دانلودشده .RE .sp \fBRUBY_BUILD_HTTP_CLIENT\fP (پیش‌فرض: نخستین ابزار یافت‌شده در PATH) .RS 4 یکی از ابزارهای "aria2c" یا "curl" یا "wget" برای استفاده در دانلود .RE .sp \fBRUBY_BUILD_ARIA2_OPTS\fP .RS 4 گزینه‌های اضافی برای ارسال به aria2c جهت دانلود .RE .sp \fBRUBY_BUILD_CURL_OPTS\fP .RS 4 گزینه‌های اضافی برای ارسال به curl جهت دانلود .RE .sp \fBRUBY_BUILD_WGET_OPTS\fP .RS 4 گزینه‌های اضافی برای ارسال به wget جهت دانلود .RE .sp \fBRUBY_BUILD_MIRROR_URL\fP (پیش‌فرض: یک آینهٔ تحت حمایت مالی Amazon CloudFront) .RS 4 نشانی ریشهٔ سفارشی آینه برای دانلود بسته‌ها از آن .RE .sp \fBRUBY_BUILD_MIRROR_PACKAGE_URL\fP .RS 4 نشانی اینترنتی (URL) کامل و سفارشی آینه .RE .sp \fBRUBY_BUILD_SKIP_MIRROR\fP .RS 4 دور زدن آینهٔ دانلود و دریافت تمام فایل‌های بسته از نشانی‌های اینترنتی اصلی آن‌ها .RE .sp \fBRUBY_BUILD_ROOT\fP (پیش‌فرض: "share/ruby\-build" در محل نصب ruby\-build) .RS 4 دایرکتوری سفارشی تعاریف ساخت .RE .sp \fBRUBY_BUILD_TARBALL_OVERRIDE\fP .RS 4 جایگزینی نشانی دریافت tarball روبی، که به‌صورت اختیاری می‌تواند با "#" دنبال شود .RE .sp \fBRUBY_BUILD_DEFINITIONS\fP .RS 4 مسیرهایی برای جستجوی تعاریف ساخت افزون بر \fIRUBY_BUILD_ROOT\fP .RE .sp \fBCC\fP .RS 4 مسیر کامپایلر C .RE .sp \fBRUBY_CFLAGS\fP .RS 4 گزینه‌های اضافی \f(CRCFLAGS\fP برای استفاده هنگام کامپایل Ruby .RE .sp \fBCONFIGURE_OPTS\fP .RS 4 آرگومان‌های اضافی برای "./configure" .RE .sp \fBMAKE\fP (پیش‌فرض: "make") .RS 4 دستور make سفارشی (مانند "gmake") .RE .sp \fBMAKE_OPTS\fP, \fBMAKEOPTS\fP .RS 4 آرگومان‌های اضافی برای "make" .RE .sp \fBMAKE_INSTALL_OPTS\fP .RS 4 آرگومان‌های اضافی برای "make install" .RE .sp \fBRUBY_CONFIGURE_OPTS\fP .RS 4 آرگومان‌های اضافی "./configure" که تنها روی کد منبع Ruby اعمال می‌شوند .RE .sp \fBRUBY_MAKE_OPTS\fP .RS 4 آرگومان‌های اضافی make که تنها روی کد منبع Ruby اعمال می‌شوند .RE .sp \fBRUBY_MAKE_INSTALL_OPTS\fP .RS 4 آرگومان‌های اضافی "make install" که تنها روی کد منبع Ruby اعمال می‌شوند .RE .sp \fBNO_COLOR\fP (پیش‌فرض: مجاز بودن رنگ‌ها هنگام اتصال به پایانه) .RS 4 غیرفعال‌سازی رنگ‌های ANSI در خروجی .RE .sp \fBCLICOLOR_FORCE\fP .RS 4 استفاده از رنگ‌های ANSI در خروجی حتی هنگام عدم اتصال به یک پایانه .RE.SH "نکات (NOTES)" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} .URL "https://github.com/rbenv/ruby\-build#readme" "" "" .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} .URL "https://github.com/rbenv/ruby\-build/wiki" "" "" .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} .URL "https://github.com/rbenv/ruby\-build/discussions" "" "" .RE .SH "نویسنده (AUTHOR)" .sp Mislav Marohnić