代码之家  ›  专栏  ›  技术社区  ›  Paul

Ubuntu Rails在zlib上安装失败

  •  129
  • Paul  · 技术社区  · 15 年前

    我刚搬到Ubuntu8.10作为我的开发盒;这是我第一次认真地进入Linux作为一个日常使用的操作系统,我很难让Rails运行起来。我已经学习了许多教程,这些教程看起来都很好用,但是当我尝试在任何东西上使用gem安装或gem更新时,我会得到一个如下的错误:

    /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

    我试着分别重新安装Ruby和Gems,但没有用。

    13 回复  |  直到 15 年前
        1
  •  297
  •   Community paulsm4    13 年前

    如果您遇到这个问题,尝试在Ubuntu10.04上使用RubyVersionManager(RVM)安装Ruby,那么有关于在RVM网站上安装zlib的说明。 http://rvm.beginrescueend.com/packages/zlib/

    步骤如下:

    rvm pkg install zlib
    

    (或) rvm package install zlib 如果您得到“错误:无法识别的命令行参数:'pkg'”-旧版本的rvm使用了动词'package')

    然后

    rvm remove 1.9.1
    rvm install 1.9.1
    
        2
  •  52
  •   AdrianVeidt    14 年前

    我使用的是Ubuntu10.04(Lucid),我想安装Ruby1.9.2,因为1.9.1不推荐与Rails一起使用。所以我下载了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
    

    解决了问题。这与上面其他人发布的内容类似,但不完全相同,所以我想我也可以发布我所做的来让它继续运行。

        3
  •  22
  •   Yuki Nishijima    13 年前

    我在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安装轨道来安装轨道。请注意,我以前安装过gem,在重新编译和安装zlib之后,我既不重新编译也不安装gem(实际上,我不知道如何卸载它,因为我找不到这样做的脚本)

    这对我很有用…希望你能。

    当做。

        4
  •  12
  •   Dan    14 年前

    尝试

    aptitude install zlib1g-dev
    

    那就做你的事吧。

        5
  •  8
  •   Andrew Grimm atk    12 年前

    我真的不喜欢这些答案…没有人真正关注用户的实际需求和问题…只是人们说他们做了什么…没有上下文,它甚至对我都不起作用…

    所以…

    我正在安装一个新的Ubuntu8.04LTS64位的Box…

    所以,我…

    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
    

    它不起作用…关于兹利布的一些事情没有找到垃圾…

    所以,我实际上读了自述文件,发现我需要编辑一个文件…

    [my ruby source directory]/ext/Setup
    

    取消对Zlib的评论…删除第一列中的“”

    然后我再次运行命令…包括在这里以供参考…

    ./configure
    make  
    install  
    sudo make install  
    

    一切都很好…这是合乎逻辑的…而且没有“RVM”和其他…只需安装更多的东西,使其工作“类型的解决方案。

    乔伊特

        6
  •  7
  •   Yuki Nishijima    13 年前

    只需转到Ruby源代码包,解压它。

    转到/your ruby dir/ext/zlib

    ruby extconf.rb
    make
    sudo make install
    

    如果包丢失,它将告诉您,主要是与libzlib相关的包

    当做

    索拉布

        7
  •  6
  •   Rod McLaughlin    13 年前
    rvm package install zlib
    rvm remove 1.9.1
    rvm install 1.9.1
    

    就是这样。在无数次的野鹅追逐之后,我很高兴我找到了这一页。

        8
  •  4
  •   Yuki Nishijima    13 年前

    是的,那也没起作用。这是从另一个来源得到的,在其他东西失败的地方,我终于做到了。

    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

    不管怎样,谢谢你们。

        9
  •  2
  •   Don Werve    15 年前

    问题是Ubuntu上的Ruby不是针对zlib构建的;您需要进行源代码构建来安装Ruby。你可以用 apt-get source -b ruby

        10
  •  2
  •   nkassis    15 年前

    你试过安装libzlib ruby吗?

    也可从RubyForge安装RubyGems。我不喜欢Ubuntu的rubygems包。

        11
  •  2
  •   Tryst    14 年前

    在Debian(挤压)上:

    libruby包含zlib for ruby和其他所有你需要让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做了一个小小的猎枪攻击。

        12
  •  1
  •   Maran    15 年前

    您可以尝试在 phusion 站点。通过包裹安装乘客。按照说明操作 here . 或者你可以试试找到的bash脚本 here .

        13
  •  0
  •   harm    15 年前

    在运行Rails时,我不建议使用Ruby1.8.8dev.stick和1.8.6,最好是RubyEnterprise版本。在上看到这个帖子 RailsLab 其他人在使用什么。

    如果您坚持使用高科技,请安装Ruby1.9.1。

    但在这两种情况下,都是你自己建造或者使用Marans的建议。