2015-09-01 134 views
0

運行Ruby on Rails有很多困難。也許你可以告訴我我錯在哪裏? 我在Linux Mint 17.2上使用LAMP本地服務器。Ruby on rails bundle install - json error

安裝Ruby:

$ sudo apt-get install ruby 
$ ruby -v 
ruby 1.9.3p484 
$ 

我沒有安裝的寶石,它的工作原理如下所示:

$ gem help commands 

    GEM commands are: 

     build    Build a gem from a gemspec 
     cert    Manage RubyGems certificates and signing settings 
    (...) 
     update   Update the named gems (or all installed gems) in the local 
          repository 
     which    Find the location of a library file you can require 

    For help on a particular command, use 'gem help COMMAND'. 

    Commands may be abbreviated, so long as they are unambiguous. 
    e.g. 'gem i rake' is short for 'gem install rake'. 

Then I installed rails, I dont remember which of those two ways : 

    $ sudo gem install rails 

or 

    $ sudo apt-get install ruby-railties-4.0 

I dont find how to uninstall, so I can't test other ways to install. 

Then, I made an application : 

     $ rails new (path)/second_app 

      create 
      create README.rdoc 
      create Rakefile 
      create config.ru 
      create .gitignore 
      create Gemfile 
      create app 
      create app/assets/javascripts/application.js 
      (...) 
      create vendor/assets/javascripts 
      create vendor/assets/javascripts/.keep 
      create vendor/assets/stylesheets 
      create vendor/assets/stylesheets/.keep 
      run bundle install 
    /usr/lib/ruby/1.9.1/rubygems.rb:308:in `bin_path': can't find gem bundler (>= 0) (Gem::GemNotFoundException) 
     from /var/lib/gems/1.9.1/gems/railties-4.0.2/lib/rails/generators/app_base.rb:268:in `bundle_command' 
     from /var/lib/gems/1.9.1/gems/railties-4.0.2/lib/rails/generators/app_base.rb:277:in `run_bundle' 
     from (eval):1:in `run_bundle' 
     from /var/lib/gems/1.9.1/gems/thor-0.19.1/lib/thor/command.rb:27:in `run' 
     from /var/lib/gems/1.9.1/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command' 
     from /var/lib/gems/1.9.1/gems/thor-0.19.1/lib/thor/invocation.rb:133:in `block in invoke_all' 
     from /var/lib/gems/1.9.1/gems/thor-0.19.1/lib/thor/invocation.rb:133:in `each' 
     from /var/lib/gems/1.9.1/gems/thor-0.19.1/lib/thor/invocation.rb:133:in `map' 
     from /var/lib/gems/1.9.1/gems/thor-0.19.1/lib/thor/invocation.rb:133:in `invoke_all' 
     from /var/lib/gems/1.9.1/gems/thor-0.19.1/lib/thor/group.rb:232:in `dispatch' 
     from /var/lib/gems/1.9.1/gems/thor-0.19.1/lib/thor/base.rb:440:in `start' 
     from /var/lib/gems/1.9.1/gems/railties-4.0.2/lib/rails/commands/application.rb:43:in `<top (required)>' 
     from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
     from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
     from /var/lib/gems/1.9.1/gems/railties-4.0.2/lib/rails/cli.rb:15:in `<top (required)>' 
     from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
     from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
     from /var/lib/gems/1.9.1/gems/railties-4.0.2/bin/rails:9:in `<top (required)>' 
     from /usr/local/bin/rails:23:in `load' 
     from /usr/local/bin/rails:23:in `<main>' 

它看起來就像是一個問題,運行捆綁安裝。據教程,我運行命令

$ bundle install 

而且我得到了

Fetching gem metadata from https://rubygems.org/............ 
Fetching gem metadata from https://rubygems.org/.. 
Resolving dependencies... 
Using rake (10.4.2) 
Using i18n (0.7.0) 
Using minitest (4.7.5) 
… 
Using jbuilder (1.5.3) 
Using jquery-rails (3.1.3) 
Installing json (1.8.3) 
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 /home/alejandro/.bundler/tmp/9377/gems/json-1.8.3 for inspection. 
Results logged to /home/alejandro/.bundler/tmp/9377/gems/json-1.8.3/ext/json/ext/generator/gem_make.out 
An error occurred while installing json (1.8.3), and Bundler cannot continue. 
Make sure that `gem install json -v '1.8.3'` succeeds before bundling. 

我tryed以多種方式來安裝JSON:

$ sudo gem install json -v '1.8.3' 
$ sudo apt-get install json -v '1.8.3' 
$ sudo gem install json 

但它不工作。我tryed到運行德服務器:

​​

我已經tryed安裝RVM和rbenv,但沒有任何工程在教程的方式說,它應該。我的感覺是,我錯過了begynning的東西,但我不知道是什麼。

你能幫我嗎?

感謝

亞歷

回答

1

您需要更新寶石鎖和所有依賴 對於請執行以下命令,
寶石更新--system

現在你可以安裝JSON寶石使用,
寶石安裝json

試試上面的命令,讓我知道你是否仍然面對同樣的事情。上面的東西對我來說工作得很好:d

+0

儘管這段代碼可以回答這個問題,提供 關於_why_和/或_how_它回答 問題將顯著改善其長期 值附加的上下文。請[編輯]你的答案,添加一些解釋。 –