在Linux上编译Ruby 1.9.2所需的先决条件?

在Linux上编译Ruby 1.9.2所需的先决条件?,ruby,ubuntu,Ruby,Ubuntu,我是Ruby和RoR的新手。我有一个带有Ubuntu映像的干净Linode实例,我想从源代码而不是使用apt get编译Ruby。我已经在谷歌上搜索了这方面的说明,但是在一些尝试之后,当我尝试运行一些教程示例时,我不断地发现关于缺少zlib和其他一些包的错误 在我从源代码编译Ruby之前,谁能给我详细的说明(或链接),教我如何安装必要的必备软件包 我的目的是编译Ruby的最新稳定版本,然后安装Rubygems和Rails。谢谢你的帮助 为什么不安装zlibsudo智能安装libz dev 我是从

我是Ruby和RoR的新手。我有一个带有Ubuntu映像的干净Linode实例,我想从源代码而不是使用apt get编译Ruby。我已经在谷歌上搜索了这方面的说明,但是在一些尝试之后,当我尝试运行一些教程示例时,我不断地发现关于缺少zlib和其他一些包的错误

在我从源代码编译Ruby之前,谁能给我详细的说明(或链接),教我如何安装必要的必备软件包


我的目的是编译Ruby的最新稳定版本,然后安装Rubygems和Rails。谢谢你的帮助

为什么不安装zlib<代码>sudo智能安装libz dev

我是从源代码处编译的,当您缺少依赖项时,它会很好地警告您。

介绍了从源代码处编译ruby所需的软件包和安装过程;它引用了Ruby1.9.1,但它也可以与Ruby1.9.2配合使用。这篇文章真正有用的地方是:

sudo apt-get -y install libc6-dev libssl-dev libmysql++-dev libsqlite3-dev make build-essential libssl-dev libreadline6-dev zlib1g-dev libyaml-dev
在我看来,除非您想继续使用MySQL或SQLite,否则其中的一些并不是必需的,否则这个包列表将获得编译Ruby所需的内容

在那之后,我不建议从源代码手动安装Ruby;我会使用,以便您可以安装任何版本的Ruby,现在和以后。RVM通过下载和编译源代码来编译不同版本的Ruby,并将为您安装Rubygems


一旦安装了
rvm
,就可以使用
rvm要求
获取当前所需软件包列表

您可以使用apt get安装任何包的所有构建依赖项。启用源存储库,然后运行

sudo apt-get build-dep ruby1.9 rails
这将安装编译这两个包的源代码所需的所有包。然后,您可以获取最新的源代码,并按照说明进行操作

N.B.:软件包名称可能有误,这取决于您使用的是哪个版本的Ubuntu。

我强烈建议您使用来安装所有rubies,特别是如果您只是为了自己使用。RVM将为您完成所有编译,将所有内容放入
~/.RVM
中,包括gems,并使安装多个版本的Ruby和gems进行测试变得非常容易

会让你跑起来的。RVM的功能强大,RVM的命令使它能够在所有安装的Rubies RVM管理中执行一些操作


如果您需要,RVM还支持提供RVM的灵活性,但如果您使用的是单用户计算机,则它会稍微复杂一些,而且不必要。

只有在存储库中没有您需要的软件包时,才应使用从源代码编译。从软件包安装Ruby是可以的,但我不建议从包中安装Rails。对于一个系统Ruby,我建议手动安装RuuGuMS(RuuGeMy.org的指令),然后>代码> GealStudioRails 。不幸的是,我看到了一些包,这些包不包括IRB和RDebug,这是我认为与Ruby一起工作所必需的。因此,我现在只使用源代码进行安装,而且由于RVM的出现,我将其作为我的第一选择。软件包已成为我最后的选择。我只是建议将软件包作为安装所有构建依赖项的快捷方式。安装起来相当复杂,但非常有用,我喜欢它!谢谢您可能还需要
libyaml-dev
,否则Ruby将在没有YAML支持的情况下编译。