我刚刚转移到 Ubuntu 8.10 作为我的开发工具箱;这是我第一次认真尝试将 Linux 作为日常使用的操作系统,我很难让 Rails 运行起来。我遵循了许多似乎都可以正常工作的教程,但是当我尝试在任何东西上使用 gem install 或 gem update 时,我得到一个看起来像这样的错误:
/usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- zlib (LoadError)
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/spec_fetcher.rb:1
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/commands/update_command.rb:5
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/command_manager.rb:167:in `load_and_instantiate'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/command_manager.rb:88:in `[]'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/command_manager.rb:144:in `find_command'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/command_manager.rb:131:in `process_args'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/command_manager.rb:102:in `run'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/gem_runner.rb:58:in `run'
from /usr/local/bin/gem:21
我已经(按照教程中的建议)安装了 zlib、zlib1g 和 zlib1g-dev。我什至找到了一些关于这个特定问题的教程(但是,所有这些都是针对我以外的口味),但它们没有帮助。
我在 Ubuntu 8.10,ruby 版本 1.8.8dev gem 版本 1.3.2
我试过分别重新安装红宝石和宝石,但无济于事。
如果您在尝试在 Ubuntu 10.04 上使用 Ruby 版本管理器 (RVM) 安装 Ruby 时遇到这个问题,那么在 rvm 网站 http://rvm.beginrescueend.com/packages/zlib/ 上有安装 zlib 的说明
步骤是:
rvm pkg install zlib
(或 rvm package install zlib
如果您收到“错误:无法识别的命令行参数:'pkg'” - 旧版本的 rvm 使用动词“包”代替)
然后
rvm remove 1.9.1
rvm install 1.9.1
我正在使用 Ubuntu 10.04 (Lucid),我想安装 ruby 1.9.2,因为 Rails 不推荐使用 1.9.1。所以我下载了 1.9.2 的源代码并解压/解压。我的源发行版是 ruby-1.9.2-p0。解压后,我构建 zlib 如下:
cd ruby-1.9.2-p0/ext/zlib
ruby extconf.rb
make
sudo make install
sudo gem install rails
解决了这个问题。这类似于其他人在上面发布的内容,但不完全一样,所以我想我也可以准确地发布我为实现它所做的事情。
apt-get install zlib1g zlib1g-dev
,但它不起作用(可能是在我编译 Ruby 之前没有安装 zlib1g-dev
)。
我在 CentOS 中遇到了同样的问题,并通过执行以下命令来修复它:
首先,我确保 zlib 和 zlib-devel 存在(就像上面的许多建议一样)。
yum install zlib zlib-devel
其次,我重新编译安装了ruby自带的zlib的源码。
cd /home/myname/installers/ruby-1.8.7-p174/ext/zlib/
ruby extconf.rb --with-zlib-include=/usr/include --with-zlib-lib=/usr/lib
make
make install
该命令似乎解决了问题,然后我执行 gem update --system
并且 zlib 的错误消失了。然后我用 gem install rails 安装 rails。请注意我之前安装了gem,并且在重新编译并安装zlib之后,我都没有重新编译安装gem(实际上我不知道如何卸载它,因为我没有找到执行此操作的脚本)
这对我有用……希望你能。
问候。
尝试
aptitude install zlib1g-dev
然后去做你的事。
我真的不喜欢这些答案中的任何一个......没有一个真正关注用户的实际需求和问题......只是人们告诉他们做了什么......没有上下文,它甚至对我不起作用......
所以, ..
我正在安装一个新盒子 Ubuntu 8.04 LTS 64-bit ...
所以我 ...
cd ~
wget ftp://ftp.ruby-lang.org//pub/ruby/1.9/ruby-1.9.2-p180.tar.gz
tar -xvvf ruby-1.9.2-p180.tar.gz
cd ruby-*
./configure
make
install
sudo make install
然后我有这个问题......
gem list
它不起作用......关于zLib的一些东西没有找到废话......
所以,我实际上阅读了自述文件,发现我需要编辑一个文件......
[my ruby source directory]/ext/Setup
并取消注释其中包含 zLib 的行...通过删除第一列中的“#”
然后我再次运行命令...包含在此处以供参考...
./configure
make
install
sudo make install
一切都很好......这是合乎逻辑的......并且没有“rvm”和其他......“只需安装更多东西以使其工作”类型的解决方案。
乔特
只需转到 Ruby Source Package ,解压缩它。
转到 /your-ruby-dir/ext/zlib
ruby extconf.rb
make
sudo make install
如果缺少包它会告诉你,主要是 libzlib 相关的包
问候
索拉布
rvm package install zlib
rvm remove 1.9.1
rvm install 1.9.1
做到了。经过无数次的大雁追逐,我很高兴找到了这个页面。
是的,那也没有做这项工作。从另一个来源得到这个,这终于在其他东西失败的地方为我做到了。
wget http://www.blue.sky.or.jp/atelier/ruby/ruby-zlib-0.6.0.tar.gz
tar xvzf ruby-zlib-0.6.0.tar.gz
cd ruby-zlib-0.6.0
ruby extconf.rb && make
sudo make install
从源代码重新安装 ruby gems
无论如何,谢谢,伙计们。
问题是 Ubuntu 上的 Ruby 不是针对 zlib 构建的。您需要进行源代码构建来安装 Ruby。您可以使用 apt-get source -b ruby
您是否尝试过 apt-get install libzlib-ruby?
还要从 rubyforge 安装 rubygems。我不喜欢 Ubuntu 中的 rubygems 包。
在 Debian(挤压)上:
libruby 包含用于 ruby 的 zlib 以及使 ruby 在 Debian 上正常工作所需的所有其他东西。所以...
apt-get install libruby
然后...
cd /usr/local/src/ruby
make clean
make
make install
cd ../rubygems
ruby setup.rb
gem install rails
这使它对我有用,但是您的里程可能会有所不同。在发现所需的一切都被 libruby 覆盖之前,我对 zlib 做了一个轻微的霰弹枪方法。
在运行 Rails 时,我不建议使用 Ruby 1.8.8dev。坚持使用 1.8.6,最好是 Ruby 企业版。请参阅 RailsLab 上的这篇文章,看看其他人正在使用什么。
如果您坚持使用高科技,请安装 Ruby 1.9.1。
但在这两种情况下,您都可以自己构建它或使用 Marans 的建议。
vm package install zib; rvm remove 1.9.2; rvm install 1.9.2 --with-zlib-dir=$rvm_path/usr
pkg
第二个选项!