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

2023-12-09

Ruby on Rails 网站建议在 Linux 下从源代码安装 Ruby。 我在全新安装的 Ubuntu 9 上从源代码构建 ruby​​ 时遇到了许多 C 库问题。

我在网上找到的有关在 Ubuntu 上安装 ruby​​ 的所有说明都涉及使用预打包的(基于 .deb)ruby。显然这不是 Rails 人们所推荐的。

当我对 ruby​​ 进行干净的源代码构建时,我发现 Rubygems 无法安装,因为 zlib 扩展不起作用。

出现两个问题:

1) 未构建 zlib 扩展。

解决方案:

i) 确保在 ruby​​ 源的 extn 目录中的安装文件中取消注释 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 中的其他扩展似乎也会发生此行为。

有没有办法找出模块加载失败的原因?某种跟踪/详细模式?


这是我在 Ubuntu 11.04 上安装 ruby​​、gems 和rails 的方法

  • 从源安装 ruby

  • 从源安装 RubyGems

  • Install zlib:
    • sudo apt-get install zlib1g-dev
    • cd your-ruby-sources/ext/zlib
    • 红宝石extconf.rb
    • make
    • 须藤进行安装
  • Install readline:
    • sudo apt-get install libreadline5-dev
    • cd your-ruby-sources/ext/readline
    • 红宝石extconf.rb
    • make
    • 须藤进行安装
  • Install openssl:
    • sudo apt-get install libssl-dev
    • cd your-ruby-sources/ext/openssl
    • 红宝石extconf.rb
    • make
    • 须藤进行安装
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有人尝试过在 Ubuntu(最好是 Ubuntu 9)上从源代码安装 ruby​​ 和 ruby​​gems? 的相关文章

随机推荐