运行'捆绑安装错误' Ruby on rails app的命令

时间:2014-11-07 00:38:52

标签: ruby-on-rails ruby

这是来自终端的快照。首先,我想运行rake db:create。有错误。 StackOverflow建议$gem install bundler$bundle install$bundle exec rake db:create

bundle install命令抛出错误。

$ bundle install
Fetching gem metadata from https://rubygems.org/...........
Resolving dependencies...
Using rake 10.3.2
Using i18n 0.6.11
Using minitest 4.7.5
Using multi_json 1.10.1
Using thread_safe 0.3.4
Using tzinfo 0.3.42
Using activesupport 4.0.2
Using builder 3.1.4
Using erubis 2.7.0
Using rack 1.5.2
Using rack-test 0.6.2
Using actionpack 4.0.2
Using mime-types 1.25.1
Using polyglot 0.3.5
Using treetop 1.4.15
Using mail 2.5.4
Using actionmailer 4.0.2
Using activemodel 4.0.2
Using activerecord-deprecated_finders 1.0.3
Using arel 4.0.2
Using activerecord 4.0.2
Using bundler 1.7.4
Using coffee-script-source 1.8.0
Using execjs 2.2.2
Using coffee-script 2.3.0
Using thor 0.19.1
Using railties 4.0.2
Using coffee-rails 4.0.1
Using hike 1.2.3
Using jbuilder 1.5.3
Using jquery-rails 3.1.2

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

    /usr/bin/ruby1.9.1 extconf.rb 
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file       -- mkmf (LoadError)
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from extconf.rb:1:in `<main>'


Gem files will remain installed in /tmp/bundler20141106-4967-2t867n/json-1.8.1/gems        /json-1.8.1 for inspection.
Results logged to /tmp/bundler20141106-4967-2t867n/json-1.8.1/gems/json-1.8.1/ext    /json/ext/generator/gem_make.out
An error occurred while installing json (1.8.1), and Bundler cannot continue.
Make sure that `gem install json -v '1.8.1'` succeeds before bundling.

编辑:我接下来做了什么:

$sudo gem install json -v '1.8.1'
Building native extensions.  This could take a while...
ERROR:  Error installing json:
ERROR: Failed to build gem native extension.

/usr/bin/ruby1.9.1 extconf.rb
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf     (LoadError)
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from extconf.rb:1:in `<main>'

Gem files will remain installed in /var/lib/gems/1.9.1/gems/json-1.8.1 for inspection.
Results logged to /var/lib/gems/1.9.1/gems/json-1.8.1/ext/json/ext/generator/gem_make.out

srikaanth@ubuntu:~/rails_app/books$ ruby -version
ruby 1.9.3p484 (2013-11-22 revision 43786) [x86_64-linux]
-e:1:in `<main>': undefined local variable or method `rsion' for main:Object (NameError)

1 个答案:

答案 0 :(得分:0)

Gems有时会针对本地库构建,因此它们需要可用。

看起来您的系统有一个非常旧版本的Ruby(1.9.1),但您正在运行Rails 4环境。安装Ruby 2.x(1.9.3也可以)。如果你在Linux上运行,你可能已经安装了所需的库;如果在OS X上,我建议使用X Code,home brew和像RVM或rbenv这样的ruby版本管理器。