当我进行捆绑安装时,我收到了kgio gem的gem安装错误

时间:2012-09-12 03:25:09

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

我在我的Gemfile中添加了独角兽,之后当我进行捆绑安装时出现此错误

    em::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

        /Users/adim86/.rvm/rubies/ruby-1.9.3-p0/bin/ruby extconf.rb 
checking for CLOCK_MONOTONIC in time.h... *** 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=/Users/adim86/.rvm/rubies/ruby-1.9.3-p0/bin/ruby
/Users/adim86/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/mkmf.rb:381:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
    from /Users/adim86/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/mkmf.rb:491:in `block in try_compile'
    from /Users/adim86/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/mkmf.rb:443:in `with_werror'
    from /Users/adim86/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/mkmf.rb:491:in `try_compile'
    from /Users/adim86/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/mkmf.rb:686:in `macro_defined?'
    from /Users/adim86/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/mkmf.rb:822:in `block in have_macro'
    from /Users/adim86/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/mkmf.rb:790:in `block in checking_for'
    from /Users/adim86/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/mkmf.rb:284:in `block (2 levels) in postpone'
    from /Users/adim86/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/mkmf.rb:254:in `open'
    from /Users/adim86/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/mkmf.rb:284:in `block in postpone'
    from /Users/adim86/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/mkmf.rb:254:in `open'
    from /Users/adim86/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/mkmf.rb:280:in `postpone'
    from /Users/adim86/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/mkmf.rb:789:in `checking_for'
    from /Users/adim86/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/mkmf.rb:821:in `have_macro'
    from extconf.rb:5:in `<main>'


Gem files will remain installed in /Users/adim86/.rvm/gems/ruby-1.9.3-p0/gems/kgio-2.7.4 for inspection.
Results logged to /Users/adim86/.rvm/gems/ruby-1.9.3-p0/gems/kgio-2.7.4/ext/kgio/gem_make.out
An error occured while installing kgio (2.7.4), and Bundler cannot continue.
Make sure that `gem install kgio -v '2.7.4'` succeeds before bundling

我的宝石文件看起来像这样。我曾尝试将unicorn添加到生产块中,但我仍然得到相同的错误。我也删除了独角兽,我仍然得到相同的错误也尝试了捆绑更新无济于事:

source 'https://rubygems.org'

gem 'rails', '3.2.3'

gem 'devise'
gem 'haml-rails'

gem 'omniauth'
gem 'omniauth-twitter'
gem 'omniauth-facebook'
gem 'twitter'
gem 'fb_graph'

gem 'json'
gem 'json_pure'

gem 'simple_form'
gem 'postmark'
gem 'postmark-rails'

gem 'bootstrap-datepicker-rails'
gem 'watu_table_builder', :require => 'table_builder'

gem 'sqlite3'

# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'uglifier', '>= 1.0.3'
end

gem "therubyracer", :require => 'v8'

gem 'jquery-rails'

gem 'differ'


gem 'whenever'
gem 'unicorn'

任何人都可以帮忙吗?

5 个答案:

答案 0 :(得分:3)

Unicorn,旨在利用类Unix系统中的功能。

换句话说,它们无法在Windows上运行

答案 1 :(得分:2)

问题是Xcode。转到Xcode设置 - &gt;下载并确保安装了“命令行工具”。安装完成后,bundle install运行得很好。

答案 2 :(得分:2)

我最近遇到过这个问题。在我的情况下,这是因为由于某种未知的原因,CC的环境变量(这是Apple的LLVM编译器的垫片)没有被设置。 打字:

$ export CC=cc
bundle install为我工作之前,终端中的

要使更改成为永久更改,您可以将export CC=cc添加到.bash_profile文件中。

如果您执行后者,请确保键入:

$ source ~/.bash_profile 

(或打开新的终端窗口),然后再执行bundle install

答案 3 :(得分:0)

这可能需要更新的ruby补丁级别 - 如p194 - 安装它:

rvm install 1.9.3-p194

再试一次。

您应该始终使用可用的最新补丁级别,RVM允许使用:

rvm get stable
rvm use 1.9.3 --install

答案 4 :(得分:-2)

我使用rvm use system来安装宝石。生活在红宝石边缘的价格?