Ruby on Rails网站build议在Linux下从源代码安装Ruby。 我在一个干净的Ubuntu 9安装中遇到了一些从源代码构buildruby的C库问题。
我在网上find关于在Ubuntu下安装ruby的所有说明,都涉及到使用预先打包(.deb)的ruby。 显然,这不是铁路人员推荐的。
当我做了一个干净的Ruby源代码构build时,我发现Rubygems无法安装,因为zlib扩展不起作用。
出现两个问题:
1)zlib扩展没有被build立。
解:
i)确保zlib在注释源代码的extn目录下的Setup文件中取消注释
ii)确保安装了这些zlib ubuntu软件包:
aptitude install zlib1g aptitude install zlib1g-dbg aptitude install zlib1g-dev aptitude install zlibc
2)在修复上面的问题1(并且做了一个干净的ruby重build)之后,zlib仍然不工作,因为扩展失败了。
你可以看到模块无法通过运行来获取输出“false”来加载:
puts require 'zlib'
我观察到,这发生在extn目录中的任何其他C扩展,所以这似乎是一个更普遍的问题与这些扩展,而不仅仅是zlib特定的。
总结:
有没有办法,我可以找出为什么一个模块无法加载? 某种跟踪/详细模式?
我不明白你的问题是什么 你说require 'zlib'
返回false
。 但是这意味着它确实起作用了! 如果出现错误,您将得到一个LoadError
异常。
这是我在Ubuntu 11.04上安装ruby,gems和rails的过程
从源代码安装红宝石
从源代码安装RubyGems
你安装了libzlib-ruby
吗? 这是我安装Rubygems之前的典型Ubuntu初始化:
$ apt-get update $ apt-get dist-upgrade $ apt-get install build-essential -y $ apt-get install rsync -y $ apt-get install ruby ri rdoc irb ri1.8 ruby1.8-dev libzlib-ruby zlib1g libopenssl-ruby -y