使用Rails 3安装mongoid gem时出错

时间:2015-04-13 10:09:50

标签: ruby mongodb ruby-on-rails-3.2

我在添加bundle installgem 'mongoid', '2.0.0.beta.19'后运行gem 'bson_ext'时收到以下错误。

错误:

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

    C:/Ruby193/bin/ruby.exe extconf.rb
checking for asprintf()... no
checking for ruby/st.h... yes
checking for ruby/regex.h... yes
checking for ruby/encoding.h... yes
creating Makefile

make
generating cbson-i386-mingw32.def
compiling bson_buffer.c
compiling cbson.c
cbson.c:25:23: fatal error: arpa/inet.h: No such file or directory
compilation terminated.
make: *** [cbson.o] Error 1


Gem files will remain installed in C:/Ruby193/lib/ruby/gems/1.9.1/gems/bson_ext-
1.12.1 for inspection.
Results logged to C:/Ruby193/lib/ruby/gems/1.9.1/gems/bson_ext-1.12.1/ext/cbson/
gem_make.out
An error occurred while installing bson_ext (1.12.1), and Bundler cannot
continue.
Make sure that `gem install bson_ext -v '1.12.1'` succeeds before bundling.

错误-2:

C:\Site\mongo_blog>gem install bson_ext -v '1.12.1'
Temporarily enhancing PATH to include DevKit...
Building native extensions.  This could take a while...
ERROR:  Error installing bson_ext:
        ERROR: Failed to build gem native extension.

    C:/Ruby193/bin/ruby.exe -r ./siteconf20150414-3752-177v4w2.rb extconf.rb
checking for asprintf()... no
checking for ruby/st.h... yes
checking for ruby/regex.h... yes
checking for ruby/encoding.h... yes
creating Makefile

make  clean
Makefile:165: *** target pattern contains no `%'.  Stop.

make
Makefile:165: *** target pattern contains no `%'.  Stop.

make failed, exit code 2

Gem files will remain installed in C:/Ruby193/lib/ruby/gems/1.9.1/gems/bson_ext-
1.12.1 for inspection.
Results logged to C:/Ruby193/lib/ruby/gems/1.9.1/extensions/x86-mingw32/1.9.1/bs
on_ext-1.12.1/gem_make.out

我的Gemfile如下。

的Gemfile:

source 'https://rubygems.org'

gem 'rails', '3.2.19'

# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'

gem 'sqlite3'


# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails',   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'

  # See https://github.com/sstephenson/execjs#readme for more supported runtimes
  # gem 'therubyracer', :platforms => :ruby

  gem 'uglifier', '>= 1.0.3'
end

gem 'jquery-rails'

# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'

# To use Jbuilder templates for JSON
# gem 'jbuilder'

# Use unicorn as the app server
# gem 'unicorn'

# Deploy with Capistrano
# gem 'capistrano'

# To use debugger
# gem 'debugger'
gem 'mongoid', '2.0.0.beta.19'
gem 'bson_ext'

请帮我解决此错误。

1 个答案:

答案 0 :(得分:0)

错误如下:

  

确保gem install bson_ext -v '1.12.1'之前成功   捆绑。

安装bson_ext导致问题。尝试更新rubygems,然后再试一次:

gem update --system
gem install bson_ext -v '1.12.1'
bundle install