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异常.
原文地址:https://codeday.me/bug/20190726/1547744.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。