【问题标题】:Not able to run gem command and build ruby with zlib support无法运行 gem 命令并使用 zlib 支持构建 ruby
【发布时间】:2012-04-07 05:51:09
【问题描述】:

我不知道安装 ruby​​ 这么痛苦 在使用 curl 证书遇到很多麻烦之后,我使用 rvm 站点中提到的方法安装了 rvm,也得到了 stackoverflow 问题的大量帮助。 现在我正在尝试使用 gems 命令安装 rails

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/ 也正如stackoverflow帖子中提到的那样

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

   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 时出现问题。

注意:我正在运行 fedora 14

【问题讨论】:

    标签: ruby-on-rails ruby gem rvm zlib


    【解决方案1】:

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

    这是我最近安装的 Ruby 的 Red Hat Enterprise Linux (RHEL) 的笔记,我认为它与 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
    

    安装 ruby​​-build

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

    安装 Ruby

    ​​>
    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
    

    【讨论】:

    • 感谢您对 ruby​​-build 和 rb-env 的建议。点赞,点赞。
    • 太棒了!现在跟进,只有一个问题这对系统中的所有用户都有效吗?我正在使用 root 进行操作。
    • 如果我已经在系统中安装了一个 ruby​​ 版本(ruby 1.8.5)会怎样?
    • @orlybg 你有选择:你可以使用 rbenv 安装 Ruby 系统范围,或者每个用户。无论哪种方式都很好,具体取决于您的目标。我在我的服务器上做系统范围的工作,在我的桌面式系统上做每个用户。
    • 哎呀@joelparkerhenderson 我遇到了同样的问题并遵循了所有这些说明。结果如下:“gem list”有效,但“gem update --system”返回相同的错误“无法加载加载此类文件--zlib”
    猜你喜欢
    • 2015-07-24
    • 1970-01-01
    • 2012-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-17
    • 1970-01-01
    • 2012-03-31
    相关资源
    最近更新 更多