我是Ruby和RoR的新手。我有一个带有Ubuntu映像的干净的Linode实例,我想从源代码编译Ruby而不是使用apt-get。我已经google搜索了这样做的说明,但经过一些尝试后,当我尝试运行一些教程样本时,我继续收到有关缺少zlib和其他一些软件包的错误。
任何人都可以给我详细说明(或链接),告诉我如何在从源代码编译Ruby之前安装必要的必备软件包?
我的目的是编译Ruby的最新稳定版本,然后安装Rubygems和Rails。感谢您提前帮助!!!
答案 0 :(得分:19)
This blog post涵盖必要的包和安装过程,以便从源代码编译ruby;它引用了Ruby 1.9.1,但它也适用于Ruby 1.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;我会使用RVM (Ruby Version Manager),因此您可以安装任何版本的Ruby,无论是现在还是以后。 RVM通过下载和编译源代码来编译不同版本的Ruby,并且还将为您安装Rubygems。
安装rvm
后,您可以使用rvm requirements
获取所需软件包的当前列表。
答案 1 :(得分:8)
您可以使用apt-get install安装任何包的所有构建依赖项。启用源存储库,然后运行。
sudo apt-get build-dep ruby1.9 rails
这将安装编译这两个软件包的源代码所需的所有软件包。然后,您可以获取最新的来源,并按照说明进行操作。
N.B。:软件包名称可能有误,取决于您使用的是哪个版本的Ubuntu。
答案 2 :(得分:3)
我 HIGHLY 建议使用'RVM'来安装所有红宝石,特别是如果你只是为自己使用它。 RVM将为您完成所有编译,将所有内容放在~/.rvm
中,包括gems,并且可以轻松安装多个版本的Ruby和gem进行测试。
Installation和using gems会让你跑步。 RVM的Gemsets功能强大,而RVM的ruby
命令使得在所有已安装的Rubies RVM管理中执行某些操作变得很好。
如果您需要,RVM还支持system-wide installations提供RVM的灵活性,但如果您使用的是单用户计算机,则它会更复杂一些。
答案 3 :(得分:0)
为什么不安装zlib? sudo aptitude install libz-dev
我是从源代码编译的,当你错过了一个依赖项时,它非常善于警告你。