Rails错误method_missing:Gem :: Specification的'this'未定义方法

6
我遵循这个教程: https://guides.spreecommerce.com/developer/getting_started_tutorial.html#installing-image-magick 当我写下

jonstark@jonstark-pc:~/rails_projects/optima1$ spree install --auto-accept

我收到了这个消息:
/home/jonstark/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/specification.rb:2158:in
`method_missing': undefined method `this' for
#<Gem::Specification:0x4db6d12 activesupport-4.2.0> (NoMethodError)     from
/home/jonstark/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/specification.rb:1057:in
`find_active_stub_by_path'  from
/home/jonstark/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:64:in
`require'   from
/home/jonstark/.rvm/gems/ruby-2.3.0/gems/activesupport-4.2.0/lib/active_support/core_ext/string.rb:1:in
`<top (required)>'  from
/home/jonstark/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:127:in
`require'   from
/home/jonstark/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:127:in
`rescue in require'     from
/home/jonstark/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:40:in
`require'   from
/home/jonstark/.rvm/gems/ruby-2.3.0/gems/spree_cmd-3.0.6.1/lib/spree_cmd/installer.rb:2:in
`<top (required)>'  from
/home/jonstark/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in
`require'   from
/home/jonstark/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in
`require'   from
/home/jonstark/.rvm/gems/ruby-2.3.0/gems/spree_cmd-3.0.6.1/lib/spree_cmd.rb:13:in
`<top (required)>'  from
/home/jonstark/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in
`require'   from
/home/jonstark/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in
`require'   from
/home/jonstark/.rvm/gems/ruby-2.3.0/gems/spree_cmd-3.0.6.1/bin/spree:2:in
`<top (required)>'  from
/home/jonstark/.rvm/gems/ruby-2.3.0/bin/spree:23:in `load'  from
/home/jonstark/.rvm/gems/ruby-2.3.0/bin/spree:23:in `<main>'    from
/home/jonstark/.rvm/gems/ruby-2.3.0/bin/ruby_executable_hooks:15:in
`eval'  from
/home/jonstark/.rvm/gems/ruby-2.3.0/bin/ruby_executable_hooks:15:in
`<main>'

我的 Gemfile

source 'https://rubygems.org'
ruby '2.3.0'
#ruby-gemset=railstutorial_rails_4_0

gem 'rails', '4.2'
gem 'bootstrap-sass'
gem 'sprockets'
gem 'bcrypt-ruby'
gem 'faker'
gem 'will_paginate'
gem 'bootstrap-will_paginate'
gem 'ffaker'
gem 'carrierwave', '~> 0.9'
gem "font-awesome-rails"
gem 'sprockets-rails'
gem 'rest-client'
gem 'blogo'
gem 'fog'
gem 'carrierwave-aws'
gem "figaro"

group :development, :test do
  gem 'sqlite3'
  gem 'rspec-rails'
end

group :test do
  gem 'selenium-webdriver'
  gem 'capybara'
  gem 'factory_girl_rails'

end


gem 'sass-rails'
gem 'uglifier'
gem 'coffee-rails'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder'

group :doc do
  gem 'sdoc', '0.3.20', require: false
end

group :production do
  gem 'pg'
  gem 'rails_12factor'
  gem 'heroku-deflater'
 # gem 'unicorn'
end

更新: 我在这里创建了一个Github问题 https://github.com/spree/spree/issues/7104 他们把我链接到了这里 https://github.com/rubygems/rubygems/issues/1420

但是我仍然不知道如何解决我的问题。

3个回答

24

2
谢谢!今天我浪费了几个小时尝试部署一个应用程序...这让我免于破坏它。 - Sean
非常感谢您! - fbelanger

15

这是RubyGems 2.5.1的问题,已在RubyGems 2.6.3中修复。

只需将RubyGems更新到2.6.3版本或更高版本即可解决问题。

gem update --system 2.6.3

或者如果您使用 RVM (来自 alf 的评论)

rvm rubygems 2.6.3

1
如果您正在使用rvm,请使用“rvm rubygems 2.6.3”。 - alf

0

我从Ruby 2.3.0降级到2.2.0,问题得到了解决


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接