更新系统后出现RubyGems错误[英] RubyGems error after updating system

本文是小编为大家收集整理的关于更新系统后出现RubyGems错误的处理方法,想解了更新系统后出现RubyGems错误的问题怎么解决?更新系统后出现RubyGems错误问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

在使用" sudo gem Update -System"更新我的Ruby设置后,尝试启动Rails控制台时,我尝试通过发出rails c

来执行Rails控制台

我得到此错误:

Users/myusername/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:247:in `to_specs': Could not find json (~> 1.4) amongst [Ascii85-1.0.1, abstract-1.0.0, actionmailer-3.1.1, actionmailer-3.1.0, actionmailer-3.0.9, actionmailer-3.0.5, actionmailer-3.0.3, actionpack-3.1.1, actionpack-3.1.0, actionpack-3.0.9, actionpack-3.0.5, actionpack-3.0.3, activemodel-3.1.1, activemodel-3.1.0, activemodel-3.0.10, activemodel-3.0.9, activemodel-3.0.5, activemodel-3.0.3, activerecord-3.1.1, activerecord-3.1.0, activerecord-3.0.9, activerecord-3.0.5, activerecord-3.0.3, activeresource-3.1.1, activeresource-3.1.0, activeresource-3.0.9, activeresource-3.0.5, activeresource-3.0.3, activesupport-3.1.1, activesupport-3.1.0, activesupport-3.0.10, activesupport-3.0.9, activesupport-3.0.5, activesupport-3.0.3, addressable-2.2.6, ansi-1.3.0, arel-2.2.1, arel-2.0.10, arel-2.0.9, arel-2.0.7, bcrypt-ruby-3.0.1, bcrypt-ruby-3.0.0, bcrypt-ruby-2.1.4, builder-3.0.0, builder-2.1.2, bundler-1.0.21, bundler-1.0.18, bundler-1.0.11, choices-0.2.4, cocaine-0.2.0, coffee-rails-3.1.1, coffee-rails-3.1.0, coffee-script-2.2.0, coffee-script-source-1.1.2, devise-1.4.8, devise-1.4.2, erubis-2.7.0, erubis-2.6.6, execjs-1.2.9, execjs-1.2.6, execjs-1.2.4, faraday-0.7.4, faraday-0.6.1, faraday_middleware-0.7.0, faraday_middleware-0.6.3, fastercsv-1.5.4, formtastic-2.0.2, formtastic-1.2.4, geocoder-1.0.4, geocoder-1.0.2, has_scope-0.5.1, hashie-1.1.0, hashie-1.0.0, heroku-2.7.0, hike-1.2.1, i18n-0.6.0, i18n-0.5.0, inherited_resources-1.3.0, inherited_resources-1.2.2, jquery-rails-1.0.16, jquery-rails-1.0.14, kaminari-0.12.4, launchy-2.0.5, libv8-3.3.10.2-x86_64-darwin-10, mail-2.3.0, mail-2.2.19, mail-2.2.15, mail-2.2.14, mechanize-2.0.1, mechanize-1.0.0, meta_search-1.1.1, meta_search-1.0.6, mime-types-1.16, multi_json-1.0.3, multi_xml-0.4.1, multi_xml-0.4.0, multi_xml-0.3.0, multi_xml-0.2.2, multipart-post-1.1.3, multipart-post-1.1.2, mysql-2.8.1, mysql2-0.3.7, mysql2-0.2.7, mysql2-0.2.6, net-http-digest_auth-1.1.1, net-http-persistent-2.1, net-http-persistent-2.0, net-http-persistent-1.9, nokogiri-1.5.0, nokogiri-1.4.4, orm_adapter-0.0.5, pdf-reader-0.10.0, pg-0.11.0, polyamorous-0.5.0, polyglot-0.3.2, polyglot-0.3.1, prawn-0.12.0, rack-1.3.4, rack-1.3.3, rack-1.3.2, rack-1.2.3, rack-1.2.2, rack-1.2.1, rack-cache-1.1, rack-cache-1.0.3, rack-mount-0.8.3, rack-mount-0.6.14, rack-mount-0.6.13, rack-ssl-1.3.2, rack-test-0.6.1, rack-test-0.5.7, rails-3.1.1, rails-3.1.0, rails-3.0.9, rails-3.0.5, rails-3.0.3, railties-3.1.1, railties-3.1.0, railties-3.0.9, railties-3.0.5, railties-3.0.3, rake-0.9.2, rake-0.8.7, rake-0.8.7, rash-0.3.1, rash-0.3.0, rdoc-3.10, rdoc-3.9.4, rdoc-3.9.2, responders-0.6.4, rest-client-1.6.7, rubygems-update-1.8.11, rubygems-update-1.8.10, rubygems-update-1.7.2, rubygems-update-1.7.1, rubygems-update-1.6.2, rubyzip-0.9.4, sass-3.1.10, sass-3.1.7, sass-rails-3.1.4, sass-rails-3.1.2, sass-rails-3.1.0, simple_oauth-0.1.5, sprockets-2.0.2, sprockets-2.0.0, sqlite3-1.3.4, term-ansicolor-1.0.6, therubyracer-0.9.4, thor-0.14.6, tilt-1.3.3, treetop-1.4.10, treetop-1.4.9, ttfunk-1.0.3, ttfunk-1.0.2, turn-0.8.2, twitter-1.7.1, twitter-1.4.1, tzinfo-0.3.30, tzinfo-0.3.29, tzinfo-0.3.26, tzinfo-0.3.24, uglifier-1.0.3, warden-1.0.6, warden-1.0.5, webrobots-0.0.12, webrobots-0.0.11] (Gem::LoadError)
from /Users/myusername/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:1932:in `block in traverse'
from /Users/myusername/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:1931:in `each'
from /Users/myusername/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:1931:in `traverse'
from /Users/myusername/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:465:in `block in find_in_unresolved_tree'
from /Users/myusername/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:463:in `reverse_each'
from /Users/myusername/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:463:in `find_in_unresolved_tree'
from /Users/myusername/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:47:in `require'
from /Users/myusername/.rvm/gems/ruby-1.9.2-p136/gems/railties-3.1.1/lib/rails/script_rails_loader.rb:1:in `<top (required)>'
from /Users/myusername/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
from /Users/myusername/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
from /Users/myusername/.rvm/gems/ruby-1.9.2-p136/gems/railties-3.1.1/lib/rails/cli.rb:2:in `<top (required)>'
from /Users/myusername/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
from /Users/myusername/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
from /Users/myusername/.rvm/gems/ruby-1.9.2-p136/gems/rails-3.1.1/bin/rails:7:in `<top (required)>'
from /Users/myusername/.rvm/gems/ruby-1.9.2-p136/bin/rails:19:in `load'
from /Users/myusername/.rvm/gems/ruby-1.9.2-p136/bin/rails:19:in `<main>'

有什么想法?

推荐答案

尝试列出宝石时会得到什么.. json> = 1.4那里?

例如:

> gem list json

*** LOCAL GEMS ***

json (1.6.1, 1.5.4, 1.5.3, 1.5.1, 1.4.2)
json_pure (1.6.1, 1.5.4, 1.5.3)

如果您使用RVM Gemset,则可能还需要列出它们,以检查您的默认GEMSET是否已更改:

rvm gemset list

编辑:神秘解决!: - )

您意外地使用sudo安装了宝石 - 但是您已经为用户帐户安装了RVM!

当您为单个用户安装RVM时,进行Sudo Gem安装通常不是一个好主意...但是您应该仅为本地用户安装宝石,让RVM管理它们的任何ruby版本,使用.

如果您仍在使用sudo安装,则RVM不会找到宝石,因为它们存储在不同的位置,在RVM之外,而不会由RVM搜索...!看起来您经历了这种情况.

检查此Railscast: http://railscasts.com/episodes/200-Rails-3-Beta-and-rvm

如果您使用的是轨道: - 编辑gemfile 并添加JSON依赖性,然后运行bundle install

如果您只是单独使用Ruby,或者是旧版本或Ruby: - 在外壳中运行gem install json

使用较新的红宝石版本,您不应手动安装宝石

其他推荐答案

在您的gemfile中添加gem "json", "~> 1.4"并运行bundle install

其他推荐答案

you 唯一的在安装过程中使用sudo命令.在多用户配置中,任何需要sudo访问的操作都必须使用RVMSUDO命令,该命令保留了RVM环境并将其传递给Sudo.在核心安装完成后,很少有RVMSUDO需要RVMSUDO,除了更新RVM本身时.从来没有理由使用sudo后安装.一旦添加到" RVM"组中的用户已登录,然后返回以获得RVM组成员资格,则仅需要使用

更新RVM自身才需要RVMSUDO
rvmsudo rvm get head

请阅读 https://rvm.beginrescueend.com/support.com/support/故障排除/页面安装程序页面还详细介绍了新的安装.您将需要删除现有的安装并重做它,以便正确地重新配置权限.将来,从不使用RVM安装时,从不 user sudo ,安装时除外. 任何其他命令都不需要sudo使用除外

rvmsudo rvm get head

更新安装.如果用户在网站上详细介绍的RVM组中正确放置了,则您将根本不需要使用Sudo,而RVMSUDO 仅用于更新.

.

另外,RVM根本无法管理安装Ruby 的系统!我们确实提供

的使用
rvm use system

为了提供一种自然的方式,可以在RVM控制的红宝石和系统之间切换.您的软件包管理器(或缺少OS X)负责管理您的系统安装Ruby,并且不在RVM 100%的控制之外.

本文地址:https://www.itbaoku.cn/post/786691.html