mirror of
https://github.com/rbenv/ruby-build.git
synced 2025-01-01 14:44:48 +01:00
a22ff72e32
* By searching a X.Y.Z definition if no ruby-X.Y.Z definition is not found. * Add test and documentation. Co-authored-by: Mislav Marohnić <git@mislav.net>
167 lines
4.4 KiB
Text
167 lines
4.4 KiB
Text
= ruby-build(1)
|
|
Mislav Marohnić
|
|
:doctype: manpage
|
|
:man manual: ruby-build Manual
|
|
:man source: ruby-build {version}
|
|
:man-linkstyle: pass:[blue R < >]
|
|
|
|
== Name
|
|
|
|
ruby-build - Download, compile, and install a version of Ruby
|
|
|
|
== Synopsis
|
|
|
|
ruby-build [-dvpk] _<definition>_ _<prefix>_ [-- _<configure-args>_...] +
|
|
ruby-build {--list|--definitions} +
|
|
ruby-build --version
|
|
|
|
== Description
|
|
|
|
ruby-build downloads, compiles, and installs a Ruby version named by the
|
|
_definition_ argument into the location specified by _prefix_.
|
|
|
|
The _definition_ argument can optionally start with "ruby-", in which case
|
|
it resolves to a CRuby that matches the version number that follows.
|
|
|
|
The _definition_ argument can be a path to a file on disk, in which case
|
|
it is sourced into ruby-build as a bash script.
|
|
|
|
Optionally, extra Ruby _configure-args_ may be listed after "--" and
|
|
will get forwarded to the `./configure` invocation.
|
|
|
|
By default, all compile output is redirected to a log file at
|
|
`$TMPDIR/ruby-build.*.log`. Activate the verbose mode to skip the log file
|
|
and print everything to standard streams.
|
|
|
|
== Options
|
|
|
|
*-l, --list*::
|
|
List latest stable releases for each Ruby
|
|
|
|
*--definitions*::
|
|
List all local definitions, including outdated ones
|
|
|
|
*--version*::
|
|
Show version of ruby-build
|
|
|
|
*-d, --dir*::
|
|
Install the Ruby in the _prefix/definition_ destination instead of directly in _prefix_
|
|
|
|
*-v, --verbose*::
|
|
Verbose mode: forward all build output to stdout/stderr
|
|
|
|
*-p, --patch*::
|
|
Apply a patch from stdin before building
|
|
|
|
*-k, --keep*::
|
|
Do not remove source tree after installation
|
|
|
|
*-4, --ipv4*::
|
|
Resolve names to IPv4 addresses only
|
|
|
|
*-6, --ipv6*::
|
|
Resolve names to IPv6 addresses only
|
|
|
|
== Examples
|
|
|
|
Install a Ruby version while tweaking some configuration options:
|
|
----
|
|
$ ruby-build 3.2.2 /path/to/destination -- --disable-install-doc --with-openssl-dir=/opt/openssl
|
|
----
|
|
|
|
Install a Ruby version to `~/.rubies/ruby-3.2.2`:
|
|
----
|
|
$ ruby-build --dir ruby-3.2.2 ~/.rubies
|
|
----
|
|
|
|
Install a Ruby version to `~/.rbenv/versions/3.3.5`:
|
|
----
|
|
$ ruby-build --dir 3.3.5 ~/.rbenv/versions
|
|
----
|
|
|
|
Usage as rbenv plugin, accomplishes the same as the previous example:
|
|
----
|
|
$ rbenv install 3.3.5
|
|
----
|
|
|
|
== Environment Variables
|
|
|
|
*TMPDIR*::
|
|
The location to write temporary files on disk
|
|
|
|
*RUBY_BUILD_BUILD_PATH* (default: a timestamped subdirectory of _TMPDIR_)::
|
|
The build location for downloading source files to and compiling
|
|
|
|
*RUBY_BUILD_CACHE_PATH* (default: "~/.rbenv/cache" if invoked as rbenv plugin)::
|
|
Where to cache downloaded package files
|
|
|
|
*RUBY_BUILD_HTTP_CLIENT* (default: first tool found in PATH)::
|
|
One of "aria2c", "curl", or "wget" to use for downloading
|
|
|
|
*RUBY_BUILD_ARIA2_OPTS*::
|
|
Additional options to pass to aria2c for downloading
|
|
|
|
*RUBY_BUILD_CURL_OPTS*::
|
|
Additional options to pass to curl for downloading
|
|
|
|
*RUBY_BUILD_WGET_OPTS*::
|
|
Additional options to pass to wget for downloading
|
|
|
|
*RUBY_BUILD_MIRROR_URL* (default: a sponsored Amazon CloudFront mirror)::
|
|
Custom mirror URL root to download packages from
|
|
|
|
*RUBY_BUILD_MIRROR_PACKAGE_URL*::
|
|
Custom complete mirror URL
|
|
|
|
*RUBY_BUILD_SKIP_MIRROR*::
|
|
Bypass the download mirror and fetch all package files from their original URLs
|
|
|
|
*RUBY_BUILD_ROOT* (default: "share/ruby-build" within ruby-build install location)::
|
|
Custom build definition directory
|
|
|
|
*RUBY_BUILD_TARBALL_OVERRIDE*::
|
|
Override the URL to fetch the ruby tarball from, optionally followed by "#<checksum>"
|
|
|
|
*RUBY_BUILD_DEFINITIONS*::
|
|
Paths to search for build definitions in addition to _RUBY_BUILD_ROOT_
|
|
|
|
*CC*::
|
|
Path to the C compiler
|
|
|
|
*RUBY_CFLAGS*::
|
|
Additional `CFLAGS` options to use for Ruby compilation
|
|
|
|
*CONFIGURE_OPTS*::
|
|
Additional "./configure" arguments
|
|
|
|
*MAKE* (default: "make")::
|
|
Custom make command (e.g., "gmake")
|
|
|
|
*MAKE_OPTS*, *MAKEOPTS*::
|
|
Additional arguments for "make"
|
|
|
|
*MAKE_INSTALL_OPTS*::
|
|
Additional arguments for "make install"
|
|
|
|
*RUBY_CONFIGURE_OPTS*::
|
|
Additional "./configure" arguments that apply only to Ruby source
|
|
|
|
*RUBY_MAKE_OPTS*::
|
|
Additional make arguments that apply only to Ruby source
|
|
|
|
*RUBY_MAKE_INSTALL_OPTS*::
|
|
Additional "make install" arguments that apply only to Ruby source
|
|
|
|
*NO_COLOR* (default: allow colors when connected to terminal)::
|
|
Disable ANSI colors in output
|
|
|
|
*CLICOLOR_FORCE*::
|
|
Use ANSI colors in output even when not connected to a terminal
|
|
|
|
== Notes
|
|
|
|
* https://github.com/rbenv/ruby-build#readme
|
|
|
|
* https://github.com/rbenv/ruby-build/wiki
|
|
|
|
* https://github.com/rbenv/ruby-build/discussions
|