语法

ruby-build [-kpv] <definition> <prefix> [-- <configure-args>…​]
ruby-build {--list|--definitions}
ruby-build --version

说明

ruby-build 下载、编译和安装一个 Ruby 版本,此版本由 definition 参数指定并安装到 prefix 指定的位置。

definition 参数可以是磁盘上的文件路径,在这种情况下,它将作为 bash 脚本导入到 ruby-build 中。

另外,额外的 Ruby configure-args 可以列在 "--" 之后,并且会转发到 ./configure 调用。

默认情况下,所有编译输出都将重定向到 $TMPDIR/ruby-build.*.log 的日志文件中。激活详细模式以跳过日志文件并将所有内容打印到标准流。

选项

-l, --list

列出各个 Ruby 的最新稳定版本

--definitions

列出包括过时定义的所有本地定义

--version

显示 ruby-build 版本

-v, --verbose

详细模式:将所有构建输出转发到 stdout/stderr

-p, --patch

在构建前应用 stdin 中的补丁

-k, --keep

不要在安装后移除源树

-4, --ipv4

仅将名称解析为 IPv4 地址

-6, --ipv6

仅将名称解析为 IPv6 地址

示例

/opt/rubies 下安装 Ruby 版本 3.2.2,同时调整一些配置选项

$ ruby-build 3.2.2 /opt/rubies/ruby-3.2.2 -- --disable-install-doc --with-openssl-dir=/opt/openssl

作为 rbenv 插件使用

$ rbenv install 3.2.2

环境变量

TMPDIR

在磁盘上写入临时文件的位置

RUBY_BUILD_BUILD_PATH(默认值:TMPDIR 的带时间戳子目录)

用于下载源文件和编译的构建位置

RUBY_BUILD_CACHE_PATH(默认值:如作为 rbenv 插件调用,则为 “~/.rbenv/cache”)

下载的包文件缓存位置

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 镜像)

下载软件包的自定义镜像 URL 根目录

RUBY_BUILD_MIRROR_PACKAGE_URL

自定义的完整镜像 URL

RUBY_BUILD_SKIP_MIRROR

绕过下载镜像并从原始 URL 获取所有软件包文件

RUBY_BUILD_ROOT (默认值:ruby-build 安装位置内的 "share/ruby-build")

自定义构建定义目录

RUBY_BUILD_TARBALL_OVERRIDE

覆盖用于抓取 ruby tarball 的 URL,可以后跟 "#<checksum>"

RUBY_BUILD_DEFINITIONS

除了 RUBY_BUILD_ROOT 以外,用于搜索构建定义的路径

CC

C 编译器的路径

RUBY_CFLAGS

用于 Ruby 编译的其他 CFLAGS 选项

CONFIGURE_OPTS

其他 “./configure” 参数

MAKE (默认值:"make")

自定义 make 命令(例如,“gmake”)

MAKE_OPTS, MAKEOPTS

用于 “make” 的其他参数

MAKE_INSTALL_OPTS

用于 “make install” 的其他参数

RUBY_CONFIGURE_OPTS

仅适用于 Ruby 源的其他 “./configure” 参数

RUBY_MAKE_OPTS

仅适用于 Ruby 源的其他 make 参数

RUBY_MAKE_INSTALL_OPTS

仅适用于 Ruby 源的其他 “make install” 参数

NO_COLOR (默认值:连接到终端时允许使用颜色)

禁用输出中的 ANSI 颜色

CLICOLOR_FORCE

即使没有连接到终端,也强制在输出中使用 ANSI 颜色

注意