无法运行 gem 命令并使用 zlib 支持构建 ruby



我不知道安装 Ruby 是如此痛苦在遇到很多 curl 证书麻烦之后,我使用 rvm 站点中提到的方法安装了 rvm,并在堆栈溢出问题的大量帮助下。现在我正在尝试使用 gems 命令安装导轨

gem install rails

但我总是收到此错误

   ERROR:  Loading command: install (LoadError)
   cannot load such file -- zlib
   ERROR:  While executing gem ... (NameError)
   uninitialized constant Gem::Commands::InstallCommand

我确实遵循了这里提到的每件事 https://rvm.beginrescueend.com/packages/zlib/也如堆栈溢出帖子中提到的

我确实按照要求安装了所有工具

   yum install -y gcc-c++ patch readline readline-devel zlib zlib-devel libyaml-devel libffi-devel openssl-devel make bzip2 autoconf automake libtool bison iconv-devel

但我仍然收到此错误。当我查看 ruby 的构建日志时 /usr/local/rvm/log/ruby-1.9.3-p125/configure.log我看到此错误

  [2012-04-07 01:13:44]  ./configure --prefix=/usr/local/rvm/rubies/ruby-1.9.3-p125 --enable-shared --disable-install-doc --with-zlib --with-opt-dir=/usr/local/rvm/usr --with-libyaml
  configure: WARNING: unrecognized options: --with-zlib, --with-libyaml

rvm 坏了吗?还是在构建 Ruby SRC 时出现问题。

注意:我正在运行软呢帽 14

RVM导致的问题多于它解决的问题(恕我直言)。更好的工具是ruby-build和rb-env。看起来也很好的新工具是红宝石安装和chruby。

以下是我最近安装的Red Hat Enterprise Linux(RHEL)Ruby的笔记,我相信它与Fedora非常相似。也许这些笔记可以对你有所帮助。如果你愿意,可以问我问题。

安装 zlib

yum install zlib zlib-devel

安装 YAML

export k=yaml v=0.1.4
wget http://pyyaml.org/download/libyaml/$k-$v.tar.gz
tar zxvf $k-$v.tar.gz
cd $k-$v 
./configure
make && make install

如果需要 X 或无头浏览进行测试,请安装 X11

yum install 
  xorg-x11-fonts-misc
  xorg-x11-fonts-truetype
  xorg-x11-server-Xorg
  xorg-x11-server-Xvfb

安装库

yum install 
  gdbm gdbm-devel
  ncurses ncurses-devel
  openssl openssl-devel
  readline readline-devel
  tk tk-devel
  libjpeg libjpeg-devel
  libpng libpng-devel
  libxml2 libxml2-devel
  libxslt libxslt-devel
  zlib zlib-devel

安装红宝石构建

cd /opt
git clone git://github.com/sstephenson/ruby-build.git
cd ruby-build/
./install.sh

安装红宝石

export k=ruby v=1.9.3-p125
wget http://ftp.ruby-lang.org/pub/ruby/1.9/$k-$v.tar.gz
tar zxvf $k-$v.tar.gz
cd $k-$v
# Either onfigure with defaults...
./configure 
# Or configure with custom locations...
./configure --prefix=/opt/$k/$v --enable-shared --with-opt-dir=/opt/yaml/current
make && make check && make install

环境

编辑/etc/environment 以添加以下内容:

RUBYOPT='-r rubygems -r psych'

如果您将 Ruby 放在自定义目录中,请同时将其与现有路径合并:

PATH=/opt/ruby/1.9.3-p125/bin  (or wherever you put it)

负载环境:

source /etc/environment

验证 gem 运行,您会看到初始 gem 集:

gem list

宝石更新:

gem update --system

最新更新