RUBY-BUILD(1) ruby-build Manual RUBY-BUILD(1)

ruby-build - بارگیری، کامپایل و نصب نسخه‌ای از Ruby

ruby-build [-dvpk] <definition> <prefix> [-- <configure-args>...]
ruby-build {--list|--definitions}
ruby-build --resolve <version>
ruby-build --version

دستور ruby-build نسخه‌ای از Ruby را که توسط آرگومان definition تعیین شده است، بارگیری و کامپایل کرده و در مکان مشخص‌شده توسط prefix نصب می‌کند.

آرگومان definition می‌تواند مسیر فایلی روی دیسک باشد، که در این صورت مانند یک اسکریپت bash درون ruby-build بارگذاری (source) می‌شود.

به‌طور اختیاری، می‌توان آرگومان‌های پیکربندی اضافی Ruby تحت عنوان configure-args را پس از «--» قید کرد تا به فراخوانی ./configure ارسال شوند.

به‌طور پیش‌فرض، تمام خروجی کامپایل به یک فایل لاگ در $TMPDIR/ruby-build.*.log هدایت می‌شود. برای صرف‌نظر از فایل لاگ و چاپ همه چیز در جریان‌های استاندارد، حالت پرگو (verbose) را فعال کنید.

هنگام فهرست کردن «جدیدترین» نسخه‌های Ruby، مانند آنچه در خروجی --list مشاهده می‌شود، ruby-build تنها از نسخه‌هایی از Ruby آگاه است که همراه با این پروژه ارائه شده‌اند. این بدان معناست که با انتشار یک نسخه جدید از Ruby، ruby-build بلافاصله از آن مطلع نخواهد شد؛ شما باید ruby-build را ارتقا دهید تا بتوانید از آن برای نصب نسخه جدید Ruby استفاده کنید.

ابزار ruby-build همراه با تعاریفی برای پیاده‌سازی‌های زیر از Ruby عرضه می‌شود:

•CRuby، که با نام «MRI» نیز شناخته می‌شود: با شماره نسخه‌هایی در قالب «X.Y.Z» مشخص می‌شود. این پیاده‌سازی اصلی Ruby است که بیشتر افراد از آن استفاده می‌کنند.
•"jruby": پیاده‌سازی با کارایی بالای Ruby با ریسه‌بندی واقعی (real threading) که بر روی ماشین مجازی جاوا (JVM) ساخته شده است.
•"mruby": نگارش سبک‌وزن Ruby برای ریزکنترل‌گرها.
•"picoruby": پیاده‌سازی جایگزین mruby برای ریزکنترل‌گرهای تک‌تراشه‌ای.
•"truffleruby": توزیع بومی و مستقل (Native standalone) از TruffleRuby؛ پیاده‌سازی Ruby بر بستر چارچوب Truffle در GraalVM.
•"truffleruby+graalvm": توزیع مستقل مبتنی بر JVM از TruffleRuby.

آرگومان definition می‌تواند به‌صورت اختیاری با "ruby-" آغاز شود، که در این صورت به یک نگارش از CRuby که با شماره نسخه پس از آن مطابقت دارد برگردانده (resolve) می‌شود. آرگومان definition همچنین می‌تواند نام یکی از پیاده‌سازی‌های جایگزین Ruby باشد، که در این صورت آخرین نسخه از آن پیاده‌سازی نصب خواهد شد..SH "گزینه‌ها (OPTIONS)"

-l, --list

فهرست کردن آخرین انتشارهای پایدار برای هر Ruby

--definitions

فهرست کردن تمام تعاریف محلی، از جمله موارد منسوخ یا قدیمی

--resolve

چاپ نام تعریف مربوط به آخرین نسخه پایدار Ruby منطبق با آرگومان version

--version

نمایش نسخه ruby-build

-d, --dir

نصب Ruby در مقصد prefix/definition به‌جای نصب مستقیم در prefix

-v, --verbose

حالت پرگو: هدایت تمام خروجی‌های فرآیند ساخت به stdout/stderr

-p, --patch

اعمال یک وصله (patch) از طریق ورودی استاندارد (stdin) پیش از ساخت

-k, --keep

حفظ درخت منبع (source tree) پس از اتمام نصب

-4, --ipv4

تفکیک و تبدیل نام‌ها تنها به آدرس‌های IPv4

-6, --ipv6

تفکیک و تبدیل نام‌ها تنها به آدرس‌های IPv6

نصب یک نسخه از Ruby ضمن اعمال تغییرات در برخی گزینه‌های پیکربندی:

$ ruby-build 3.4.9 /path/to/destination -- --disable-install-doc --with-openssl-dir=/opt/openssl

نصب یک نسخه Ruby در ~/.rubies/ruby-3.4.9:

$ ruby-build --dir ruby-3.4.9 ~/.rubies

نصب آخرین نسخه Ruby 3.x در ~/.rubies/ruby-3.x.y:

$ ruby-build --dir ruby-3 ~/.rubies

نصب یک نسخه Ruby در ~/.rbenv/versions/3.3.11:

$ ruby-build --dir 3.3.11 ~/.rbenv/versions

استفاده به‌صورت افزونه rbenv، که نتیجه‌ای یکسان با مثال پیشین دارد:

$ rbenv install 3.3.11

TMPDIR

مکان نوشتن فایل‌های موقت روی دیسک

RUBY_BUILD_BUILD_PATH (پیش‌فرض: یک زیردایرکتوری با برچسب زمان در TMPDIR)

مکان ساخت برای دانلود فایل‌های منبع به آن و کامپایل کردن

RUBY_BUILD_CACHE_PATH (پیش‌فرض: "~/.rbenv/cache" در صورت فراخوانی به عنوان افزونهٔ rbenv)

محل ذخیرهٔ موقت (کَش) فایل‌های بسته‌های دانلودشده

RUBY_BUILD_HTTP_CLIENT (پیش‌فرض: نخستین ابزار یافت‌شده در PATH)

یکی از ابزارهای "aria2c" یا "curl" یا "wget" برای استفاده در دانلود

RUBY_BUILD_ARIA2_OPTS

گزینه‌های اضافی برای ارسال به aria2c جهت دانلود

RUBY_BUILD_CURL_OPTS

گزینه‌های اضافی برای ارسال به curl جهت دانلود

RUBY_BUILD_WGET_OPTS

گزینه‌های اضافی برای ارسال به wget جهت دانلود

RUBY_BUILD_MIRROR_URL (پیش‌فرض: یک آینهٔ تحت حمایت مالی Amazon CloudFront)

نشانی ریشهٔ سفارشی آینه برای دانلود بسته‌ها از آن

RUBY_BUILD_MIRROR_PACKAGE_URL

نشانی اینترنتی (URL) کامل و سفارشی آینه

RUBY_BUILD_SKIP_MIRROR

دور زدن آینهٔ دانلود و دریافت تمام فایل‌های بسته از نشانی‌های اینترنتی اصلی آن‌ها

RUBY_BUILD_ROOT (پیش‌فرض: "share/ruby-build" در محل نصب ruby-build)

دایرکتوری سفارشی تعاریف ساخت

RUBY_BUILD_TARBALL_OVERRIDE

جایگزینی نشانی دریافت tarball روبی، که به‌صورت اختیاری می‌تواند با "#<checksum>" دنبال شود

RUBY_BUILD_DEFINITIONS

مسیرهایی برای جستجوی تعاریف ساخت افزون بر RUBY_BUILD_ROOT

CC

مسیر کامپایلر C

RUBY_CFLAGS

گزینه‌های اضافی CFLAGS برای استفاده هنگام کامپایل Ruby

CONFIGURE_OPTS

آرگومان‌های اضافی برای "./configure"

MAKE (پیش‌فرض: "make")

دستور make سفارشی (مانند "gmake")

MAKE_OPTS, MAKEOPTS

آرگومان‌های اضافی برای "make"

MAKE_INSTALL_OPTS

آرگومان‌های اضافی برای "make install"

RUBY_CONFIGURE_OPTS

آرگومان‌های اضافی "./configure" که تنها روی کد منبع Ruby اعمال می‌شوند

RUBY_MAKE_OPTS

آرگومان‌های اضافی make که تنها روی کد منبع Ruby اعمال می‌شوند

RUBY_MAKE_INSTALL_OPTS

آرگومان‌های اضافی "make install" که تنها روی کد منبع Ruby اعمال می‌شوند

NO_COLOR (پیش‌فرض: مجاز بودن رنگ‌ها هنگام اتصال به پایانه)

غیرفعال‌سازی رنگ‌های ANSI در خروجی

CLICOLOR_FORCE

استفاده از رنگ‌های ANSI در خروجی حتی هنگام عدم اتصال به یک پایانه

Mislav Marohnić

2026-05-07 ruby-build 20260520