有没有人尝试在Ubuntu(最好是Ubuntu 9)上从源代码安装ruby和rubygems?

Ruby on Rails网站建议在Linux下从源代码安装Ruby.我在Ubuntu 9的干净安装中遇到了一些从源代码构建ruby的C库问题.我在网上发现的关于在Ubuntu上安装ruby的所有说明都涉及使用预先打包的(.deb-based)ruby.显然,这不...

Ruby on Rails网站建议在Linux下从源代码安装Ruby.
我在Ubuntu 9的干净安装中遇到了一些从源代码构建ruby的C库问题.

我在网上发现的关于在Ubuntu上安装ruby的所有说明都涉及使用预先打包的(.deb-based)ruby.显然,这不是铁人们推荐的.

当我做了一个干净的ruby源代码构建时,我发现Rubygems无法安装,因为zlib扩展不起作用.

出现两个问题:

1)没有构建zlib扩展.

解:

i)确保在ruby源的extn目录中的Setup文件中取消注释zlib,并且

ii)确保安装了这些zlib ubuntu软件包:

aptitude install zlib1g
aptitude install zlib1g-dbg
aptitude install zlib1g-dev
aptitude install zlibc

2)在修复上面的问题1(并进行ruby的干净重建)之后,zlib仍然无法正常工作,因为扩展无法加载.

您可以通过运行此命令并输出“false”来查看模块无法加载:

puts require 'zlib'

我观察到这发生在extn目录中的任何其他C扩展中,因此对于这些扩展而言似乎是一个更普遍的问题,而不仅仅是特定于zlib的问题.

总结一下:

>我的ruby构建找到了特定于ruby的C zlib扩展,但无法加载zlib模块.
>这种行为似乎发生在/ extn中的其他扩展中.

有没有办法可以找出模块无法加载的原因?某种痕迹/详细模式?

解决方法:

我不明白你的问题是什么.你说要求’zlib’返回false.但这意味着它确实有效!如果出现错误,您将收到LoadError异常.

本文标题为:有没有人尝试在Ubuntu(最好是Ubuntu 9)上从源代码安装ruby和rubygems?