简体   繁体   English

Ruby on Rails捆绑安装-JSON错误

[英]Ruby on rails bundle install - json error

I have a lot of difficulties to run Ruby on Rails. 我在运行Ruby on Rails时遇到很多困难。 Maybe you can tell me where I'm wrong ? 也许你可以告诉我我哪里错了? I'm on Linux Mint 17.2, with LAMP local server. 我在使用LAMP本地服务器的Linux Mint 17.2上。

To install Ruby : 要安装Ruby:

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

I didn't have to install gem, it works as shown here : 我不必安装gem,它的工作原理如下所示:

$ 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>'

It looks like it was a problem running bundle install. 看来运行捆绑软件安装有问题。 According to tutorials, I run the command 根据教程,我运行命令

$ bundle install

And I got 我得到了

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.

I tryed to install json in several ways : 我试图以几种方式安装json:

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

But it don't work. 但这不起作用。 I tryed to to run de server : 我试图运行服务器:

$ rails server
Could not find gem 'rails (= 4.0.2) ruby' in the gems available on this machine.
Run `bundle install` to install missing gems.

I have tryed to install rvm and rbenv, but nothing works in the way tutorials says it should. 我已经尝试安装rvm和rbenv,但没有按照教程所说的方式工作。 My feeling is that I missed something in the begynning, but I dont know what. 我的感觉是我在初生阶段错过了一些东西,但是我不知道是什么。

Could you please help me ? 请你帮助我好吗 ?

Thanks 谢谢

Alex 亚历克斯

You need to update gem lock and all dependency For that please execute below command, 您需要更新gem lock及其所有依赖关系,请执行以下命令,
gem update --system 宝石更新-系统

Now You can install json gem using , 现在,您可以使用来安装json gem,
gem install json gem install json

Try above command and let me know if you still face same thing. 尝试执行以上命令,让我知道您是否仍然面临同样的问题。 Above things works fine for me:D 以上事情对我来说很好:D

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM