很多:`require':无法加载这样的文件 - 升级ruby/rails后的"gem_name"(LoadError)

Nie*_*ian 2 ruby ruby-on-rails upgrade ruby-on-rails-4

在我刚刚从4.1升级rails并将ruby从2.0升级到2.1之后,当我尝试启动rails时,我遇到了几个加载问题.我的很多宝石都会抛出这样的错误:

/Users/nk/.rvm/gems/ruby-2.1.3@au_rails4/gems/activesupport-4.1.6/lib/active_support/dependencies.rb:247:in `require': cannot load such file -- jwt (LoadError)
  from /Users/nk/.rvm/gems/ruby-2.1.3@au_rails4/gems/activesupport-4.1.6/lib/active_support/dependencies.rb:247:in `block in require'
  from /Users/nk/.rvm/gems/ruby-2.1.3@au_rails4/gems/activesupport-4.1.6/lib/active_support/dependencies.rb:232:in `load_dependency'
  from /Users/nk/.rvm/gems/ruby-2.1.3@au_rails4/gems/activesupport-4.1.6/lib/active_support/dependencies.rb:247:in `require'
  from /Users/nk/.rvm/gems/ruby-2.1.3@au_rails4/gems/oauth2-1.0.0/lib/oauth2/strategy/assertion.rb:1:in `<top (required)>'
  from /Users/nk/.rvm/gems/ruby-2.1.3@au_rails4/gems/activesupport-4.1.6/lib/active_support/dependencies.rb:247:in `require'
  from /Users/nk/.rvm/gems/ruby-2.1.3@au_rails4/gems/activesupport-4.1.6/lib/active_support/dependencies.rb:247:in `block in require'
  from /Users/nk/.rvm/gems/ruby-2.1.3@au_rails4/gems/activesupport-4.1.6/lib/active_support/dependencies.rb:232:in `load_dependency'
  from /Users/nk/.rvm/gems/ruby-2.1.3@au_rails4/gems/activesupport-4.1.6/lib/active_support/dependencies.rb:247:in `require'
  from /Users/nk/.rvm/gems/ruby-2.1.3@au_rails4/gems/oauth2-1.0.0/lib/oauth2.rb:8:in `<top (required)>'
  from /Users/nk/.rvm/gems/ruby-2.1.3@au_rails4/gems/activesupport-4.1.6/lib/active_support/dependencies.rb:247:in `require'
  from /Users/nk/.rvm/gems/ruby-2.1.3@au_rails4/gems/activesupport-4.1.6/lib/active_support/dependencies.rb:247:in `block in require'
  from /Users/nk/.rvm/gems/ruby-2.1.3@au_rails4/gems/activesupport-4.1.6/lib/active_support/dependencies.rb:232:in `load_dependency'
  from /Users/nk/.rvm/gems/ruby-2.1.3@au_rails4/gems/activesupport-4.1.6/lib/active_support/dependencies.rb:247:in `require'
  from /Users/nk/.rvm/gems/ruby-2.1.3@au_rails4/gems/omniauth-oauth2-1.2.0/lib/omniauth/strategies/oauth2.rb:1:in `<top (required)>'
  from /Users/nk/.rvm/gems/ruby-2.1.3@au_rails4/gems/activesupport-4.1.6/lib/active_support/dependencies.rb:247:in `require'
  from /Users/nk/.rvm/gems/ruby-2.1.3@au_rails4/gems/activesupport-4.1.6/lib/active_support/dependencies.rb:247:in `block in require'
  from /Users/nk/.rvm/gems/ruby-2.1.3@au_rails4/gems/activesupport-4.1.6/lib/active_support/dependencies.rb:232:in `load_dependency'
  from /Users/nk/.rvm/gems/ruby-2.1.3@au_rails4/gems/activesupport-4.1.6/lib/active_support/dependencies.rb:247:in `require'
  from /Users/nk/.rvm/gems/ruby-2.1.3@au_rails4/gems/omniauth-facebook-2.0.0/lib/omniauth/strategies/facebook.rb:1:in `<top (required)>'
  from /Users/nk/.rvm/gems/ruby-2.1.3@au_rails4/gems/activesupport-4.1.6/lib/active_support/dependencies.rb:247:in `require'
  from /Users/nk/.rvm/gems/ruby-2.1.3@au_rails4/gems/activesupport-4.1.6/lib/active_support/dependencies.rb:247:in `block in require'
  from /Users/nk/.rvm/gems/ruby-2.1.3@au_rails4/gems/activesupport-4.1.6/lib/active_support/dependencies.rb:232:in `load_dependency'
  from /Users/nk/.rvm/gems/ruby-2.1.3@au_rails4/gems/activesupport-4.1.6/lib/active_support/dependencies.rb:247:in `require'
  from /Users/nk/.rvm/gems/ruby-2.1.3@au_rails4/gems/omniauth-facebook-2.0.0/lib/omniauth/facebook.rb:2:in `<top (required)>'
  from /Users/nk/.rvm/gems/ruby-2.1.3@au_rails4/gems/activesupport-4.1.6/lib/active_support/dependencies.rb:247:in `require'
  from /Users/nk/.rvm/gems/ruby-2.1.3@au_rails4/gems/activesupport-4.1.6/lib/active_support/dependencies.rb:247:in `block in require'
  from /Users/nk/.rvm/gems/ruby-2.1.3@au_rails4/gems/activesupport-4.1.6/lib/active_support/dependencies.rb:232:in `load_dependency'
  from /Users/nk/.rvm/gems/ruby-2.1.3@au_rails4/gems/activesupport-4.1.6/lib/active_support/dependencies.rb:247:in `require'
  from /Users/nk/.rvm/gems/ruby-2.1.3@au_rails4/gems/omniauth-facebook-2.0.0/lib/omniauth-facebook.rb:1:in `<top (required)>'
  from /Users/nk/.rvm/gems/ruby-2.1.3@global/gems/bundler-1.7.3/lib/bundler/runtime.rb:76:in `require'
  from /Users/nk/.rvm/gems/ruby-2.1.3@global/gems/bundler-1.7.3/lib/bundler/runtime.rb:76:in `block (2 levels) in require'
  from /Users/nk/.rvm/gems/ruby-2.1.3@global/gems/bundler-1.7.3/lib/bundler/runtime.rb:72:in `each'
  from /Users/nk/.rvm/gems/ruby-2.1.3@global/gems/bundler-1.7.3/lib/bundler/runtime.rb:72:in `block in require'
  from /Users/nk/.rvm/gems/ruby-2.1.3@global/gems/bundler-1.7.3/lib/bundler/runtime.rb:61:in `each'
  from /Users/nk/.rvm/gems/ruby-2.1.3@global/gems/bundler-1.7.3/lib/bundler/runtime.rb:61:in `require'
  from /Users/nk/.rvm/gems/ruby-2.1.3@global/gems/bundler-1.7.3/lib/bundler.rb:133:in `require'
  from /Users/nk/Programmering/au/au/config/application.rb:4:in `<top (required)>'
  from /Users/nk/.rvm/gems/ruby-2.1.3@au_rails4/gems/railties-4.1.6/lib/rails/commands/commands_tasks.rb:146:in `require'
  from /Users/nk/.rvm/gems/ruby-2.1.3@au_rails4/gems/railties-4.1.6/lib/rails/commands/commands_tasks.rb:146:in `require_application_and_environment!'
  from /Users/nk/.rvm/gems/ruby-2.1.3@au_rails4/gems/railties-4.1.6/lib/rails/commands/commands_tasks.rb:68:in `console'
  from /Users/nk/.rvm/gems/ruby-2.1.3@au_rails4/gems/railties-4.1.6/lib/rails/commands/commands_tasks.rb:40:in `run_command!'
  from /Users/nk/.rvm/gems/ruby-2.1.3@au_rails4/gems/railties-4.1.6/lib/rails/commands.rb:17:in `<top (required)>'
  from script/rails:6:in `require'
  from script/rails:6:in `<main>'
Run Code Online (Sandbox Code Playgroud)

我的gem文件看起来像这样:

source 'https://rubygems.org'

# Rake and rails
gem 'rake', '10.3.2'
gem 'rails', '4.1.6'

gem 'protected_attributes'
gem 'rails-observers'
gem 'actionpack-page_caching'
gem 'actionpack-action_caching'
gem 'activerecord-deprecated_finders'


# Databases and caching
gem 'pg', '0.17.1'
gem 'apartment', '0.25.2'
gem 'redis', '~> 3.1.0'
gem 'foreigner', '1.6.1'
gem 'geocoder', '1.2.5'
gem 'dalli', '2.7.2'
gem 'hstore_accessor', '~> 0.6.0'

# Files and processing
gem 'fog', '~> 1.24.0'
gem 'rmagick', '~> 2.13.2', require: 'RMagick'
gem 'carrierwave', '~> 0.10.0'
gem 'carrierwave-meta', '~> 0.0.5'
gem 'rubyzip', '~> 1.1.2'
gem 'sitemap_generator', '~> 5.0.1'
gem 'rubyXL', '~> 3.2.3'

# Model layer
gem 'squeel', '~> 1.2.1'
gem 'ransack', '~> 1.4.0'
gem 'state_machine', '~> 1.2.0'
gem 'active_attr', '0.8.4'
gem 'omniauth-facebook', '2.0.0'
gem 'omniauth-identity', '1.1.1'
gem 'bcrypt-ruby', '~> 3.1.2', require: 'bcrypt'
gem 'redis-objects', '~> 1.0.0'
gem 'leaderboard', '~> 3.7.0'
Run Code Online (Sandbox Code Playgroud)

现在,如果我然后注释掉,omniauth-facebook那么我只是得到以下内容bcrupt:

/Users/nk/.rvm/gems/ruby-2.1.3@global/gems/bundler-1.7.3/lib/bundler/runtime.rb:76:in `require': cannot load such file -- bcrypt (LoadError)
  from /Users/nk/.rvm/gems/ruby-2.1.3@global/gems/bundler-1.7.3/lib/bundler/runtime.rb:76:in `block (2 levels) in require'
  from /Users/nk/.rvm/gems/ruby-2.1.3@global/gems/bundler-1.7.3/lib/bundler/runtime.rb:72:in `each'
  from /Users/nk/.rvm/gems/ruby-2.1.3@global/gems/bundler-1.7.3/lib/bundler/runtime.rb:72:in `block in require'
  from /Users/nk/.rvm/gems/ruby-2.1.3@global/gems/bundler-1.7.3/lib/bundler/runtime.rb:61:in `each'
  from /Users/nk/.rvm/gems/ruby-2.1.3@global/gems/bundler-1.7.3/lib/bundler/runtime.rb:61:in `require'
  from /Users/nk/.rvm/gems/ruby-2.1.3@global/gems/bundler-1.7.3/lib/bundler.rb:133:in `require'
  from /Users/nk/Programmering/au/au/config/application.rb:4:in `<top (required)>'
  from /Users/nk/.rvm/gems/ruby-2.1.3@au_rails4/gems/railties-4.1.6/lib/rails/commands/commands_tasks.rb:146:in `require'
  from /Users/nk/.rvm/gems/ruby-2.1.3@au_rails4/gems/railties-4.1.6/lib/rails/commands/commands_tasks.rb:146:in `require_application_and_environment!'
  from /Users/nk/.rvm/gems/ruby-2.1.3@au_rails4/gems/railties-4.1.6/lib/rails/commands/commands_tasks.rb:68:in `console'
  from /Users/nk/.rvm/gems/ruby-2.1.3@au_rails4/gems/railties-4.1.6/lib/rails/commands/commands_tasks.rb:40:in `run_command!'
  from /Users/nk/.rvm/gems/ruby-2.1.3@au_rails4/gems/railties-4.1.6/lib/rails/commands.rb:17:in `<top (required)>'
  from script/rails:6:in `require'
  from script/rails:6:in `<main>'
Run Code Online (Sandbox Code Playgroud)

它就这样继续下去.为什么我的一些宝石会突然造成这种情况?

Dip*_*pta 8

您的本地ruby安装必定存在一些问题.

如果您使用的是rvm gemset,那么请rvm pristine在您的gemset上运行.如果你没有使用gemset那么运行gem pristine --all