官方 Ruby FAQ
如果您希望报告错误或对本 FAQ 提出改进建议,请访问我们的 GitHub 仓库,并提出 issue 或 pull request。
安装 Ruby
有关下载和安装 Ruby 的当前信息,请参阅安装或下载页面。
什么操作系统支持 Ruby?
本节或部分内容可能已过时或需要确认。
Ruby 是在 Linux 下开发的,是用相当标准的 C 编写的。它可以在 Linux 和其他类 Unix 操作系统、macOS、Windows、DOS、BeOS、Amiga、Acorn Risc OS 和 OS/2 下运行。
我在哪里可以获得 Ruby 源代码?
最新版本的 Ruby 可从以下网址下载:www.ruby-lang.org/en/downloads/。镜像站点也列在此页面上。
此页面还提供指向开发树的每日快照的链接。
我能访问开发源代码树吗?
本节或部分内容可能已过时或需要确认。
如果您有 CVS 客户端,可以使用以下命令检出当前的源代码树:
$ cvs -d :pserver:anonymous@cvs.netlab.co.jp:/home/cvs login
(Logging in to anonymous@cvs.netlab.co.jp)
CVS password: guest
$ cvs -d :pserver:anonymous@cvs.netlab.co.jp:/home/cvs co ruby
如果您没有 CVS,可以从https://cache.ruby-lang.org/pub/ruby/snapshot.tar.gz获取开发源代码的每日快照。
我如何编译 Ruby?
在 Unix 系统下,Ruby 使用 autoconf 系统配置构建环境。您不需要在您的机器上安装 autoconf 命令即可从发行版构建 Ruby;只需使用以下命令:
$ ./configure [configure options]
$ make
$ make test
$ make install
如果您不覆盖默认安装位置(/usr/local),您可能需要超级用户权限来安装 Ruby。您可以使用以下命令获取完整的 configure 选项列表:
$ ./configure --help
如果您正在从源代码存储库工作,您可能需要在运行 configure 之前运行 autoconf。
我如何告诉 Ruby 我的库在哪里?
本节或部分内容可能已过时或需要确认。
在某些系统上,构建过程可能无法找到扩展模块使用的库(例如 dbm 库)。
您可以通过 configure 选项告诉 Ruby 在哪里可以找到库。来自 [ruby-talk:5041]:
$ ./configure --with-xxx-yyy=DIR
其中 xxx 是
opt extra software path in general
dbm path for dbm library
gdbm path for gdbm library
x11 ...for X11..
tk ...for Tk...
tcl ...for Tcl...
并且 yyy 是
dir specifies -I DIR/include -L DIR/lib
include specifies -I DIR
lib specifies -L DIR
在 HP-UX 上,使用 gcc 构建可能会有问题。请尝试使用原生编译器。Watanabe Tetsuya 建议:
$ CC="cc -Ae" CFLAGS=-O ./configure --prefix=/opt/gnu
HP 的原生 sed 也可能存在问题。他建议安装 GNU 版本。
是否有预编译的二进制文件?
RubyInstaller 提供了一个包含在各种 Windows 操作系统下运行 Ruby 所需一切的单一下载。
Reuben Thomas 写道:
您可以提到 Acorn RISC OS 有一个移植版本,目前是 v1.4.3。我做了这个移植,并且没有计划维护它,但我已经把补丁发给了 matz,所以新版本也很有可能可以编译。
“cygwin”、“mingw”和“djgpp”是什么意思?
本节或部分内容可能已过时或需要确认。
Ruby 的编写是为了利用 Unix 环境丰富的特性集。不幸的是,Windows 缺少一些功能,并且实现其他功能的方式不同。因此,需要在 Windows 下运行 Ruby(和其他基于 Unix 的程序)时使用某种映射层。
您可能会遇到使用不同包装映射层的 Ruby 可执行文件版本。
rbdj 版本是 Ruby Windows 二进制文件的独立版本。它使用 DJ Delorie 工具(http://www.delorie.com)。
rbcw 版本是 Ruby 的 Windows 二进制文件,需要 Cygwin 库,可在 http://www.cygwin.com 或 Ruby 下载页面获取。Cygwin 是一个模拟层,也是一组最初由 Cygnus Solutions(现属 Redhat)创建的实用程序。Cygwin 版本的 Ruby 在 Windows 下可能具有最全面的功能集,因此大多数程序员会希望使用它。
要使用 rbcw 版本,您需要单独安装 cygwin .dll。在您的计算机上安装 Cygwin 后,将 cygwin1.dll(位于 Cygwin 发行版 bin 子目录中)复制到您的 Windows\System32 文件夹(或您的路径上的其他位置)。
感谢 Anders Schneiderman 提供此描述的基础。
为什么 Tk 图形在 Windows 下不起作用?
本节或部分内容可能已过时或需要确认。
您的 Windows 机器上是否正确安装了 Tk?请访问 https://wiki.tcl-lang.org/page/Binary+Distributions#85b8647b1ec80c2fa1698c3c7e76204a944a95db2487347c51773f26b9dad6ae,查找为您机器预编译的 Tcl/Tk 二进制发行版。
环境变量 TCL_LIBRARY 和 TK_LIBRARY 是否指向包含 tcl 和 tk 的目录?
Tk 库是否在您的路径中?