使用ruby 1.9.2安装gem'frank-cucumber'时出错

时间:2013-03-23 19:52:36

标签: ruby cucumber

Fetching gem metadata from https://rubygems.org/..........
Fetching gem metadata from https://rubygems.org/..
Using i18n (0.6.1) 
Using multi_json (1.7.2) 
Using activesupport (3.2.13) 
Using builder (3.2.0) 
Using colored (1.2) 
Using diff-lcs (1.2.1) 
Using json (1.7.7) 
Using gherkin (2.11.6) 
Using cucumber (1.2.3) 
Installing dnssd (2.0) with native extensions 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

    /home/ramkishan/.rvm/rubies/ruby-1.9.2-p318/bin/ruby extconf.rb 
    checking for dns_sd.h... no
    unable to find dnssd header
    *** extconf.rb failed ***
    Could not create Makefile due to some reason, probably lack of
    necessary libraries and/or headers.  Check the mkmf.log file for more
    details.  You may need configuration options.

    Provided configuration options:
        --with-opt-dir
        --with-opt-include
        --without-opt-include=${opt-dir}/include
        --with-opt-lib
        --without-opt-lib=${opt-dir}/lib
        --with-make-prog
        --without-make-prog
        --srcdir=.
        --curdir
        --ruby=/home/ramkishan/.rvm/rubies/ruby-1.9.2-p318/bin/ruby
        --with-warnings
        --without-warnings
        --with-dnssd-dir
        --without-dnssd-dir
        --with-dnssd-include
        --without-dnssd-include=${dnssd-dir}/include
        --with-dnssd-lib
        --without-dnssd-lib=${dnssd-dir}/lib


    Gem files will remain installed in /home/ramkishan/.rvm/gems/ruby-1.9.2-p318@andriod/gems/dnssd-2.0 for inspection.
    Results logged to /home/ramkishan/.rvm/gems/ruby-1.9.2-p318@andriod/gems/dnssd-2.0/ext/dnssd/gem_make.out
    An error occurred while installing dnssd (2.0), and Bundler cannot continue.
    Make sure that `gem install dnssd -v '2.0'` succeeds before bundling.

我已安装gem install dnssd -v'2.0',但问题仍然存在。帮我解决一下。

2 个答案:

答案 0 :(得分:1)

dnssd gem依赖于具有dnssd库的操作系统。 假设你没有使用我认为内置了这个库的OS X,你应该安装libavahi-compat-libdnssd-dev

在Ubuntu上,它是sudo apt-get install libavahi-compat-libdnssd-dev

答案 1 :(得分:1)

我猜你不在OSX上。如果您使用的是Ubuntu,则可以运行

$> sudo apt-get install libavahi-compat-libdnssd-dev

安装缺少的库。