|
| 1 | +--- |
| 2 | +layout: page |
| 3 | +title: "安装 Ruby" |
| 4 | +lang: zh_cn |
| 5 | +--- |
| 6 | + |
| 7 | +你可以使用多种工具来安装 Ruby。 |
| 8 | +此页面介绍了如何使用主流的包管理系统和第三方工具来管理和安装 Ruby, |
| 9 | +以及如何通过源码来编译安装。 |
| 10 | +{: .summary} |
| 11 | + |
| 12 | +## 选择你的安装方式 |
| 13 | + |
| 14 | +这里有多种方法来安装 Ruby: |
| 15 | + |
| 16 | +* 如果你使用的是类 UNIX 操作系统, |
| 17 | + 用你系统的**包管理器**是最简单的安装方式。 |
| 18 | + 但是,包管理器下的 Ruby 版本通常都不是最新的。 |
| 19 | +* **安装工具**能够安装指定或者多个 Ruby 版本。这里有针对 Windows 的安装包。 |
| 20 | +* **管理工具**能帮助你在已经安装在你系统中的多个 Ruby 版本中切换。 |
| 21 | +* 最后,你也可以**通过源码来编译安装 Ruby**。 |
| 22 | + |
| 23 | +下面是对于不同需求和平台的安装方式的列表。 |
| 24 | + |
| 25 | +* [包管理系统](#package-management-systems) |
| 26 | + * [Debian, Ubuntu](#apt) |
| 27 | + * [CentOS, Fedora, RHEL](#yum) |
| 28 | + * [Gentoo](#portage) |
| 29 | + * [Arch Linux](#pacman) |
| 30 | + * [OS X](#homebrew) |
| 31 | + * [Solaris, OpenIndiana](#solaris) |
| 32 | + * [Other Distributions](#other-systems) |
| 33 | +* [安装工具](#installers) |
| 34 | + * [ruby-build](#ruby-build) |
| 35 | + * [ruby-install](#ruby-install) |
| 36 | + * [RubyInstaller](#rubyinstaller) (Windows) |
| 37 | + * [RailsInstaller and Ruby Stack](#railsinstaller) |
| 38 | +* [管理工具](#managers) |
| 39 | + * [chruby](#chruby) |
| 40 | + * [rbenv](#rbenv) |
| 41 | + * [RVM](#rvm) |
| 42 | + * [uru](#uru) |
| 43 | +* [通过源码来编译安装](#building-from-source) |
| 44 | + |
| 45 | + |
| 46 | +## 包管理系统 |
| 47 | +{: #package-management-systems} |
| 48 | + |
| 49 | +如果你无法编译 Ruby,也不想使用第三方工具, |
| 50 | +你可以使用你系统的包管理器来安装 Ruby。 |
| 51 | + |
| 52 | +许多 Ruby 社区的成员强烈建议,应该使用第三方工具来安装 Ruby, |
| 53 | +而不是系统的包管理软件。 |
| 54 | +详细的优缺点讨论超出了本页面讨论的范围, |
| 55 | +基本原因是大多数系统包管理软件里的 Ruby 版本比较老。 |
| 56 | +如果你想要使用最新的 Ruby,确保你使用了正确名字的包, |
| 57 | +或者使用下列的这些工具。 |
| 58 | + |
| 59 | + |
| 60 | +### apt(Debian 或 Ubuntu) |
| 61 | +{: #apt} |
| 62 | + |
| 63 | +Debian GNU/Linux 和 Ubuntu 使用 apt 包管理工具。 |
| 64 | +用法: |
| 65 | + |
| 66 | +{% highlight sh %} |
| 67 | +$ sudo apt-get install ruby-full |
| 68 | +{% endhighlight %} |
| 69 | + |
| 70 | +撰文时,在 Debian 和 Ubuntu 下,`ruby-full` 包提供的是老旧的 Ruby 1.9.3。 |
| 71 | + |
| 72 | +### yum(CentOS、Fedora 或 RHEL) |
| 73 | +{: #yum} |
| 74 | + |
| 75 | +CentOS、Fedora 和 RHEL 使用 yum 包管理工具. |
| 76 | +用法: |
| 77 | + |
| 78 | +{% highlight sh %} |
| 79 | +$ sudo yum install ruby |
| 80 | +{% endhighlight %} |
| 81 | + |
| 82 | +安装的 Ruby 版本通常是发行版发行日能打包的最新版。 |
| 83 | + |
| 84 | + |
| 85 | +### portage(Gentoo) |
| 86 | +{: #portage} |
| 87 | + |
| 88 | +Gentoo 使用 portage 包管理工具. |
| 89 | + |
| 90 | +{% highlight sh %} |
| 91 | +$ sudo emerge dev-lang/ruby |
| 92 | +{% endhighlight %} |
| 93 | + |
| 94 | +一般来说,这将安装 1.9 和 2.0 版本。 |
| 95 | +但是更多版本也是可以安装的。 |
| 96 | +如果要安装指定版本,请在你的 `make.conf` 中设置 `RUBY_TARGETS`。 |
| 97 | +详见 [Gentoo Ruby Project website][gentoo-ruby]。 |
| 98 | + |
| 99 | + |
| 100 | +### pacman(Arch Linux) |
| 101 | +{: #pacman} |
| 102 | + |
| 103 | +Arch Linux 使用 pacman 包管理器。 |
| 104 | +要安装 Ruby,只需要: |
| 105 | + |
| 106 | +{% highlight sh %} |
| 107 | +$ sudo pacman -S ruby |
| 108 | +{% endhighlight %} |
| 109 | + |
| 110 | +这将安装最新的 Ruby 稳定版。 |
| 111 | + |
| 112 | + |
| 113 | +### Homebrew(OS X) |
| 114 | +{: #homebrew} |
| 115 | + |
| 116 | +在 OS X Yosemite 和 Mavericks 中内置 Ruby 2.0。 |
| 117 | +OS X Mountain Lion、Lion 和 Snow Leopard 出厂内置 Ruby 1.8.7. |
| 118 | + |
| 119 | +许多 OS X 用户使用 [Homebrew][homebrew] 作为包管理器。 |
| 120 | +用 Homebrew 能够非常简单地获取到最新版的 Ruby: |
| 121 | + |
| 122 | +{% highlight sh %} |
| 123 | +$ brew install ruby |
| 124 | +{% endhighlight %} |
| 125 | + |
| 126 | +这将安装最新版的 Ruby。 |
| 127 | + |
| 128 | + |
| 129 | +### Solaris 和 OpenIndiana |
| 130 | +{: #solaris} |
| 131 | + |
| 132 | +[Sunfreeware][sunfreeware] 上的 Solaris 8 到 10 内置 Ruby 1.8.7, |
| 133 | +[Blastwave][blastwave] 同样如此。 |
| 134 | + |
| 135 | +Ruby 1.9.2p0 在 [Sunfreeware][sunfreeware] 上也有,但版本已经过时。 |
| 136 | + |
| 137 | +要在 [OpenIndiana][openindiana] 上安装 Ruby, |
| 138 | +请使用 [Image Packaging System (IPS)][opensolaris-pkg] 客户端。 |
| 139 | +这将直接从 OpenSolaris 代码库安装 Ruby 1.9 和 RubyGems: |
| 140 | + |
| 141 | +{% highlight sh %} |
| 142 | +$ pkg install runtime/ruby-18 |
| 143 | +{% endhighlight %} |
| 144 | + |
| 145 | +然而,第三方工具或许是获取最新版 Ruby 更好的方法。 |
| 146 | + |
| 147 | + |
| 148 | +### 其它发行版 |
| 149 | +{: #other-systems} |
| 150 | + |
| 151 | +在其它操作系统上,你可以在包管理器中搜索 Ruby 来安装, |
| 152 | +或者使用第三方工具是个更好的选择。 |
| 153 | + |
| 154 | + |
| 155 | +## 安装工具 |
| 156 | +{: #installers} |
| 157 | + |
| 158 | +如果你的系统或者包管理器提供的 Ruby 版本已经过时, |
| 159 | +你可以使用第三方安装工具来安装更新的版本。 |
| 160 | +其中许多工具允许你在同一个系统中安装多个 Ruby 版本, |
| 161 | +相关的工具能帮你在不同版本间进行切换。 |
| 162 | +如果你打算用 [RVM](#rvm) 作为版本管理工具, |
| 163 | +你不需要其它的安装工具,它自己就有这些功能。 |
| 164 | + |
| 165 | + |
| 166 | +### ruby-build |
| 167 | +{: #ruby-build} |
| 168 | + |
| 169 | +[ruby-build][ruby-build] 是 [rbenv](#rbenv) 的一个插件, |
| 170 | +能够编译和安装不同版本的 Ruby 到任意目录下。 |
| 171 | +ruby-build 也可以不依赖 rbenv 而单独使用。 |
| 172 | +支持的平台有 OS X、Linux 和其它类 UNIX 操作系统。 |
| 173 | + |
| 174 | + |
| 175 | +### ruby-install |
| 176 | +{: #ruby-install} |
| 177 | + |
| 178 | +[ruby-install][ruby-install] 允许你编译和安装不同版本的 Ruby 到任意目录。 |
| 179 | +还有个兄弟工具,[chruby](#chruby),可以用来切换不同的 Ruby 版本。 |
| 180 | +支持的平台有 OS X、Linux 和其它类 UNIX 操作系统。 |
| 181 | + |
| 182 | + |
| 183 | +### RubyInstaller |
| 184 | +{: #rubyinstaller} |
| 185 | + |
| 186 | +如果你使用的 Windows,这个不错的项目能帮你安装 Ruby:[RubyInstaller][rubyinstaller]。 |
| 187 | +它能帮你安装在 Windows 上所需的所有 Ruby 开发环境。 |
| 188 | +下载、执行,即可! |
| 189 | + |
| 190 | + |
| 191 | +### RailsInstaller 和 Ruby Stack |
| 192 | +{: #railsinstaller} |
| 193 | + |
| 194 | +如果你是为了使用 Ruby on Rails 而安装 Ruby, |
| 195 | +你可以使用下列安装工具: |
| 196 | + |
| 197 | +* [RailsInstaller][railsinstaller], |
| 198 | + 使用的是 RubyInstaller,但包括了其它能够帮助 Rails 开发的工具。 |
| 199 | + 支持 OS X 和 Windows。 |
| 200 | + |
| 201 | +* [Bitnami Ruby Stack][rubystack], |
| 202 | + 提供了完整的 Rails 开发环境。 |
| 203 | + 支持 OS X、Linux、Windows、虚拟机和云镜像。 |
| 204 | + |
| 205 | + |
| 206 | +## 管理工具 |
| 207 | +{: #managers} |
| 208 | + |
| 209 | +许多 Rubyist 使用 Ruby 管理工具来管理不同版本的 Ruby。 |
| 210 | +这些管理工具有很多额外的优点,但没有官方支持。 |
| 211 | +这些工具背后的社群都很有帮助。 |
| 212 | + |
| 213 | + |
| 214 | +### chruby |
| 215 | +{: #chruby} |
| 216 | + |
| 217 | +[chruby][chruby] 允许你在不同版本的 Ruby 之间进行切换。 |
| 218 | +chruby 能够管理用 [ruby-install](#ruby-install) 或者通过源码编译安装的 Ruby。 |
| 219 | + |
| 220 | + |
| 221 | +### rbenv |
| 222 | +{: #rbenv} |
| 223 | + |
| 224 | +[rbenv][rbenv] 能让你管理在系统中安装的多个 Ruby。 |
| 225 | +它不能直接用来安装 Ruby, |
| 226 | +但有个流行的插件叫 [ruby-build](#ruby-build) 能够用来安装 Ruby。 |
| 227 | + |
| 228 | +这两个工具都支持 OS X、Linux 和其它类 UNIX 操作系统。 |
| 229 | + |
| 230 | + |
| 231 | +### RVM(“Ruby Version Manager”) |
| 232 | +{: #rvm} |
| 233 | + |
| 234 | +[RVM][rvm] 能让你在系统中安装和管理多个版本的 Ruby。 |
| 235 | +同时还能管理不同的 gemsets。 |
| 236 | +支持 OS X、Linux 和其它类 UNIX 操作系统。 |
| 237 | + |
| 238 | + |
| 239 | +## uru |
| 240 | +{: #uru} |
| 241 | + |
| 242 | +[Uru][uru] 是一个轻量的、支持多平台的命令行工具, |
| 243 | +能够帮助你在 OS X、Linux 和 Windows 上使用不同版本的 Ruby。 |
| 244 | + |
| 245 | + |
| 246 | +## 通过源码来编译安装 |
| 247 | +{: #building-from-source} |
| 248 | + |
| 249 | +当然,你也可以通过源码来安装 Ruby。 |
| 250 | +[下载](/en/downloads/),解压 tarball,然后执行: |
| 251 | + |
| 252 | +{% highlight sh %} |
| 253 | +$ ./configure |
| 254 | +$ make |
| 255 | +$ sudo make install |
| 256 | +{% endhighlight %} |
| 257 | + |
| 258 | +默认会将 Ruby 安装到 `/usr/local`。 |
| 259 | +通过传 `--prefix=DIR` 选项给 `./configure` 脚本可以改变安装路径。 |
| 260 | + |
| 261 | +因为无法使用任何工具来管理通过源码编译安装的 Ruby, |
| 262 | +所以使用第三方工具或者包管理器或许是更好的选择。 |
| 263 | + |
| 264 | + |
| 265 | +[rvm]: http://rvm.io/ |
| 266 | +[rbenv]: https://github.com/sstephenson/rbenv#readme |
| 267 | +[ruby-build]: https://github.com/sstephenson/ruby-build#readme |
| 268 | +[ruby-install]: https://github.com/postmodern/ruby-install#readme |
| 269 | +[chruby]: https://github.com/postmodern/chruby#readme |
| 270 | +[uru]: https://bitbucket.org/jonforums/uru |
| 271 | +[rubyinstaller]: http://rubyinstaller.org/ |
| 272 | +[railsinstaller]: http://railsinstaller.org/ |
| 273 | +[rubystack]: http://bitnami.com/stack/ruby/installer |
| 274 | +[sunfreeware]: http://www.sunfreeware.com |
| 275 | +[blastwave]: http://www.blastwave.org |
| 276 | +[openindiana]: http://openindiana.org/ |
| 277 | +[opensolaris-pkg]: http://opensolaris.org/os/project/pkg/ |
| 278 | +[gentoo-ruby]: http://www.gentoo.org/proj/en/prog_lang/ruby/ |
| 279 | +[homebrew]: http://brew.sh/ |
0 commit comments