Я ничего не могу сделать в rails из-за ошибки .gemspec, но я понятия не имею, как это исправить - PullRequest
3 голосов
/ 25 января 2012

Я не могу выполнить какое-либо действие (даже такое простое, как проверка моей версии rails) из-за следующей ошибки. Понятия не имею, что я сделал! Похоже, я что-то напутал, связанный с .gemspec, хотя я не помню, чтобы я делал что-то странное. Я новичок в рельсах, поэтому любая помощь будет принята с благодарностью.

Вот часть ошибки, потому что было слишком долго включать все это:


$ rails -v WARNING:  #<ArgumentError: Illformed requirement ["#<YAML::Syck::DefaultKey:0x10ac34e60> 3.2.0"]>
# -*- encoding: utf-8 -*-

Gem::Specification.new do |s|   s.name = %q{actionmailer}   s.version
= "3.2.0"

  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=   s.authors = ["David Heinemeier Hansson"]   s.date = %q{2012-01-20}   s.description = %q{Email on Rails. Compose, deliver, receive, and test emails using the familiar controller/view pattern. First-class support for multipart email and attachments.}   s.email = %q{david@loudthinking.com}   s.files = ["CHANGELOG.md", "README.rdoc", "MIT-LICENSE", "lib/action_mailer/base.rb", "lib/action_mailer/collector.rb", "lib/action_mailer/delivery_methods.rb", "lib/action_mailer/log_subscriber.rb", "lib/action_mailer/mail_helper.rb", "lib/action_mailer/railtie.rb", "lib/action_mailer/test_case.rb", "lib/action_mailer/test_helper.rb", "lib/action_mailer/version.rb", "lib/action_mailer.rb", "lib/rails/generators/mailer/mailer_generator.rb", "lib/rails/generators/mailer/templates/mailer.rb", "lib/rails/generators/mailer/USAGE"]   s.homepage = %q{http://www.rubyonrails.org}   s.require_paths = ["lib"]   s.required_ruby_version = Gem::Requirement.new(">= 1.8.7")   s.requirements = ["none"]   s.rubygems_version = %q{1.3.6}   s.summary
= %q{Email composition, delivery, and receiving framework (part of Rails).}

  if s.respond_to? :specification_version then
    current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
    s.specification_version = 3

    if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
      s.add_runtime_dependency(%q<actionpack>, ["#<YAML::Syck::DefaultKey:0x10ac34e60> 3.2.0"])
      s.add_runtime_dependency(%q<mail>, ["~> 2.4.0"])
    else
      s.add_dependency(%q<actionpack>, ["#<YAML::Syck::DefaultKey:0x10ac34e60> 3.2.0"])
      s.add_dependency(%q<mail>, ["~> 2.4.0"])
    end   else
    s.add_dependency(%q<actionpack>, ["#<YAML::Syck::DefaultKey:0x10ac34e60> 3.2.0"])
    s.add_dependency(%q<mail>, ["~> 2.4.0"])   end end WARNING:  Invalid .gemspec format in '/Library/Ruby/Gems/1.8/specifications/actionmailer-3.2.0.gemspec' WARNING:  #<ArgumentError: Illformed requirement ["#<YAML::Syck::DefaultKey:0x10adcc2f0> 3.2.0"]>
# -*- encoding: utf-8 -*-

Gem::Specification.new do |s|   s.name = %q{actionpack}   s.version = "3.2.0"

  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=   s.authors = ["David Heinemeier Hansson"]   s.date = %q{2012-01-20}   s.description = %q{Web apps on Rails. Simple, battle-tested conventions for building and testing MVC web applications. Works with any Rack-compatible server.}   s.email = 

...

%q{1.3.6}   s.summary = %q{Tools for creating, working with, and running Rails applications.}

  if s.respond_to? :specification_version then
    current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
    s.specification_version = 3

    if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
      s.add_runtime_dependency(%q<rake>, [">= 0.8.7"])
      s.add_runtime_dependency(%q<thor>, ["~> 0.14.6"])
      s.add_runtime_dependency(%q<rack-ssl>, ["~> 1.3.2"])
      s.add_runtime_dependency(%q<rdoc>, ["~> 3.4"])
      s.add_runtime_dependency(%q<activesupport>, ["#<YAML::Syck::DefaultKey:0x10ab088e8> 3.2.0"])
      s.add_runtime_dependency(%q<actionpack>, ["#<YAML::Syck::DefaultKey:0x10ab01bd8> 3.2.0"])
    else
      s.add_dependency(%q<rake>, [">= 0.8.7"])
      s.add_dependency(%q<thor>, ["~> 0.14.6"])
      s.add_dependency(%q<rack-ssl>, ["~> 1.3.2"])
      s.add_dependency(%q<rdoc>, ["~> 3.4"])
      s.add_dependency(%q<activesupport>, ["#<YAML::Syck::DefaultKey:0x10ab088e8> 3.2.0"])
      s.add_dependency(%q<actionpack>, ["#<YAML::Syck::DefaultKey:0x10ab01bd8> 3.2.0"])
    end   else
    s.add_dependency(%q<rake>, [">= 0.8.7"])
    s.add_dependency(%q<thor>, ["~> 0.14.6"])
    s.add_dependency(%q<rack-ssl>, ["~> 1.3.2"])
    s.add_dependency(%q<rdoc>, ["~> 3.4"])
    s.add_dependency(%q<activesupport>, ["#<YAML::Syck::DefaultKey:0x10ab088e8> 3.2.0"])
    s.add_dependency(%q<actionpack>, ["#<YAML::Syck::DefaultKey:0x10ab01bd8> 3.2.0"])   end end WARNING:  Invalid .gemspec format in '/Library/Ruby/Gems/1.8/specifications/railties-3.2.0.gemspec' /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:230:in `activate': can't activate rack (~> 1.3.5, runtime) for ["actionpack-3.1.3", "rails-3.1.3"], already activated rack-1.4.1 for ["rack-cache-1.1", "actionpack-3.1.3", "rails-3.1.3"] (Gem::LoadError)     from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:246:in `activate'  from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:245:in `each'  from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:245:in `activate'  from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:246:in `activate'  from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:245:in `each'  from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:245:in `activate'  from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:1056:in `gem'  from /usr/bin/rails:18

1 Ответ

4 голосов
/ 08 февраля 2012

Вам нужно будет попытаться переустановить / обновить Rails и RubyGems, если это не решит проблему, возможно, вам придется переустановить ruby, как я это сделал, когда столкнулся с этой ошибкой.

Для обновления рубинов:

sudo gem install rubygems-update
sudo update_rubygems     
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...