问题描述
在我将 rails 从 4.1 和 ruby 从 2.0 升级到 2.1 之后,我在尝试启动 rails 时遇到了几个负载问题.我的许多宝石都抛出这样的错误:
After I just upgrade rails from 4.1 and ruby from 2.0 to 2.1 I'm getting several load issues when I try to start rails. Many of my gems are throwing errors like this:
/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>'
我的 gem 文件如下所示:
My gem file looks like this:
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'
现在,如果我将 omniauth-facebook
注释掉,那么我只会得到 bcrupt
的以下内容:
Now if I then comment out omniauth-facebook
then i just get the following for bcrupt
instead:
/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>'
它就这样继续下去.为什么我的一些宝石会突然导致这种情况?
And it just continues like that. Why are some of my gems suddenly causing this?
推荐答案
您的本地 ruby 安装肯定有问题.
There must be some problem in your local ruby installation.
如果您使用的是 rvm gemset,则在您的 gemset 上运行 rvm pristine
.如果您不使用 gemset,请运行 gem pristine --all
If you are using rvm gemset then run rvm pristine
on your gemset.If you are not using gemset then run gem pristine --all
这篇关于许多:`require':无法加载这样的文件——“gem_name";(LoadError) 升级 ruby/rails 后的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!