【问题标题】:Can't install thin by using rubygems on Ubuntu 9.10无法在 Ubuntu 9.10 上使用 ruby​​gems 安装 Thin
【发布时间】:2011-01-31 14:18:02
【问题描述】:

如何修复此错误,并安装 Thin 或其他 gem?

$ sudo gem 安装瘦 构建原生扩展。这可能需要一段时间... 错误:安装瘦身时出错: 错误:无法构建 gem 原生扩展。 /usr/bin/ruby1.9.1 extconf.rb 检查 ruby​​.h,rubysig.h 中的 rb_trap_immediate... *** extconf.rb 失败 *** 由于某种原因无法创建 Makefile,可能缺少 必要的库和/或头文件。查看 mkmf.log 文件了解更多信息 细节。您可能需要配置选项。 提供的配置选项: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include=${opt-dir}/include --with-opt-lib --without-opt-lib=${opt-dir}/lib --with-make-prog --没有-make-prog --srcdir=。 --curdir --ruby=/usr/bin/ruby1.9.1 /usr/lib/ruby/1.9.1/mkmf.rb:362:in `try_do': 编译器无法生成可执行文件。 (运行时错误) 您必须先安装开发工具。 来自 /usr/lib/ruby/1.9.1/mkmf.rb:425:in `try_compile' 来自 /usr/lib/ruby/1.9.1/mkmf.rb:543:in `try_var' 来自 /usr/lib/ruby/1.9.1/mkmf.rb:791:in `block in have_var' 来自 /usr/lib/ruby/1.9.1/mkmf.rb:668:in `block in checks_for' 来自 /usr/lib/ruby/1.9.1/mkmf.rb:274:in `block (2 levels) in推迟' 来自 /usr/lib/ruby/1.9.1/mkmf.rb:248:in `open' 来自 /usr/lib/ruby/1.9.1/mkmf.rb:274:in `block in推迟' 来自 /usr/lib/ruby/1.9.1/mkmf.rb:248:in `open' 来自 /usr/lib/ruby/1.9.1/mkmf.rb:270:in `推迟' 来自 /usr/lib/ruby/1.9.1/mkmf.rb:667:in `checking_for' 来自 /usr/lib/ruby/1.9.1/mkmf.rb:790:in `have_var' 来自 extconf.rb:16:in `' Gem 文件将继续安装在 /var/lib/gems/1.9.1/gems/eventmachine-0.12.10 中以供检查。 结果记录到 /var/lib/gems/1.9.1/gems/eventmachine-0.12.10/ext/gem_make.out

附加信息如下

$ 猫 /etc/问题 Ubuntu 9.10 \n \l $ dpkg -l | grep 红宝石 ii libreadline-ruby1.9.1 1.9.1.243-2 Ruby 1.9.1 的 Readline 接口 ii libruby1.9.1 1.9.1.243-2 运行 Ruby 1.9.1 所需的库 ii ruby​​1.9.1 1.9.1.243-2 面向对象脚本语言解释器 ii ruby​​1.9.1-dev 1.9.1.243-2 用于编译扩展模块的头文件 ii ruby​​gems1.9.1 1.3.5-1ubuntu2 Ruby 库管理框架 $红宝石-v ruby 1.9.1p243(2009-07-16 修订版 24175)[x86_64-linux] $宝石清单 *** 当地宝石 *** 机架 (1.1.0) 西纳特拉 (1.0)

【问题讨论】:

    标签: ubuntu rubygems thin


    【解决方案1】:

    我有:

    ERROR:  Error installing thin:
        ERROR: Failed to build gem native extension.
    
    /usr/bin/ruby1.8 extconf.rb
    checking for rb_trap_immediate in ruby.h,rubysig.h... yes
    checking for rb_thread_blocking_region()... no
    checking for inotify_init() in sys/inotify.h... yes
    checking for writev() in sys/uio.h... yes
    checking for rb_thread_check_ints()... no
    checking for rb_time_new()... yes
    checking for sys/event.h... no
    checking for epoll_create() in sys/epoll.h... yes
    checking for main() in -lcrypto... no
    creating Makefile
    
    make
    g++ -I. -I. -I/usr/lib/ruby/1.8/x86_64-linux -I. -DBUILD_FOR_RUBY -DHAVE_RB_TRAP_IMMEDIATE -DHAVE_RBTRAP -DHAVE_INOTIFY_INIT -DHAVE_INOTIFY -DHAVE_WRITEV -DHAVE_WRITEV -DHAVE_RB_TIME_NEW -DOS_UNIX -DHAVE_EPOLL_CREATE -DHAVE_EPOLL -DWITHOUT_SSL -I/include/include    -fPIC -fno-strict-aliasing -g -g -O2  -fPIC    -c emwin.cpp
    make: g++: Command not found
    make: *** [emwin.o] Error 127
    

    它提到缺少 g++,所以我做了:

    sudo apt-get install g++
    

    然后跑:

    sudo gem install thin
    

    成功了

    另外,我不确定它是否与此安装有关,但由于它是 64 位安装,有时作为预防措施,我安装了 32 个库:

    sudo apt-get install ia32libs
    

    但我总是在设置新的 64 位服务器后立即安装 32libs

    【讨论】:

    • 这里也一样。在 Mac OS 10.9 上,Ruby 2.0.0-p247
    猜你喜欢
    • 1970-01-01
    • 2019-05-12
    • 2015-12-13
    • 1970-01-01
    • 1970-01-01
    • 2012-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多