【问题标题】:bundle install errors on carrierwave gem在carrierwave gem上捆绑安装错误
【发布时间】:2012-05-10 05:33:27
【问题描述】:

我正在尝试安装 gem(carrierwave),当我使用命令 bundle install 时出现如下错误:

无效的 gemspec [/home/sup1re/superrrr/vendor/bundle/ruby/1.8/specifications/carrierwave-0.6.2.gemspec]: 不正确的要求 ["# 1.1.4"]

安装carrierwave (0.6.2) 无效的gemspec [/home/sup1re/superrrr/vendor/bundle/ruby/1.8/specifications/carrierwave-0.6.2.gemspec]: 不正确的要求 ["# 1.1.4"]

我也尝试运行“gem update --system

我收到了这个错误

[1]: http://i.stack.imgur.com/RUxW9.png

规格:

ruby 1.8.7(2011-02-18 补丁级别 334)[x86_64-linux]

Rails 3.2.3

Gem 版本是 1.8.5

我想知道我的 Gemfile 有什么问题。

非常欢迎任何 cmets。 谢谢。

这是导致错误的carrierwave-0.6.2.gemspec

# -*- encoding: utf-8 -*-

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

  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
  s.authors = [%q{Jonas Nicklas}]
  s.date = %q{2012-04-12}
  s.description = %q{Upload files in your Ruby applications, map them to a range of ORMs, store them on different backends.}
  s.email = [%q{jonas.nicklas@gmail.com}]
  s.extra_rdoc_files = [%q{README.md}]
  s.files = [%q{README.md}]
  s.homepage = %q{https://github.com/jnicklas/carrierwave}
  s.rdoc_options = [%q{--main}]
  s.require_paths = [%q{lib}]
  s.rubyforge_project = %q{carrierwave}
  s.rubygems_version = %q{1.8.5}
  s.summary = %q{Ruby file upload library}

  if s.respond_to? :specification_version then
    s.specification_version = 3

    if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
      s.add_runtime_dependency(%q<activesupport>, [">= 3.2.0"])
      s.add_runtime_dependency(%q<activemodel>, [">= 3.2.0"])
      s.add_development_dependency(%q<mysql2>, [">= 0"])
      s.add_development_dependency(%q<rails>, [">= 3.2.0"])
      s.add_development_dependency(%q<cucumber>, ["#<YAML::Syck::DefaultKey:0x718a860d0a98> 1.1.4"])
      s.add_development_dependency(%q<json>, [">= 0"])
      s.add_development_dependency(%q<rspec>, ["~> 2.0"])
      s.add_development_dependency(%q<sham_rack>, [">= 0"])
      s.add_development_dependency(%q<timecop>, [">= 0"])
      s.add_development_dependency(%q<fog>, [">= 1.3.1"])
      s.add_development_dependency(%q<mini_magick>, [">= 0"])
      s.add_development_dependency(%q<rmagick>, [">= 0"])
    else
      s.add_dependency(%q<activesupport>, [">= 3.2.0"])
      s.add_dependency(%q<activemodel>, [">= 3.2.0"])
      s.add_dependency(%q<mysql2>, [">= 0"])
      s.add_dependency(%q<rails>, [">= 3.2.0"])
      s.add_dependency(%q<cucumber>, ["#<YAML::Syck::DefaultKey:0x718a860d0a98> 1.1.4"])
      s.add_dependency(%q<json>, [">= 0"])
      s.add_dependency(%q<rspec>, ["~> 2.0"])
      s.add_dependency(%q<sham_rack>, [">= 0"])
      s.add_dependency(%q<timecop>, [">= 0"])
      s.add_dependency(%q<fog>, [">= 1.3.1"])
      s.add_dependency(%q<mini_magick>, [">= 0"])
      s.add_dependency(%q<rmagick>, [">= 0"])
    end
  else
    s.add_dependency(%q<activesupport>, [">= 3.2.0"])
    s.add_dependency(%q<activemodel>, [">= 3.2.0"])
    s.add_dependency(%q<mysql2>, [">= 0"])
    s.add_dependency(%q<rails>, [">= 3.2.0"])
    s.add_dependency(%q<cucumber>, ["#<YAML::Syck::DefaultKey:0x718a860d0a98> 1.1.4"])
    s.add_dependency(%q<json>, [">= 0"])
    s.add_dependency(%q<rspec>, ["~> 2.0"])
    s.add_dependency(%q<sham_rack>, [">= 0"])
    s.add_dependency(%q<timecop>, [">= 0"])
    s.add_dependency(%q<fog>, [">= 1.3.1"])
    s.add_dependency(%q<mini_magick>, [">= 0"])
    s.add_dependency(%q<rmagick>, [">= 0"])
  end
end

【问题讨论】:

  • 请以正确的格式而不是图像粘贴您的错误日志。
  • 我粘贴了错误,还包含了图像,以便其他人可以直观地看到我的错误。感谢您的建议
  • 您是否从 repo 安装了您的 ruby​​gems?您使用哪种操作系统?

标签: ruby-on-rails ruby ruby-on-rails-3 rubygems carrierwave


【解决方案1】:

您需要更新 Rubygems,这不是载波问题。 sudo gem update --systemgem update --system 取决于您的设置。

【讨论】:

  • 我的意思是取决于您的设置。能举个例子吗?真的很欣赏它
【解决方案2】:

您需要更新 ruby​​gems,但首先您需要修复损坏的 gemspecs。

在编辑器中打开.../specifications/carrierwave-0.6.2.gemspec,并删除#&lt;YAML::Syck::DefaultKey:0x718a860d0a98&gt; 的所有实例。 (或sed -i 's/#&lt;.*&gt; //' blah.gemspec。)

然后按照其他地方的说明运行gem update --system

【讨论】:

    【解决方案3】:

    对我来说,这个问题是由我在 RVM 中使用的 Ruby 版本引起的。尝试在 ruby​​ 1.8.7 中安装carrierwave gem 时失败,我的应用使用的是 ruby​​ 1.9.3。

    我通过让我的应用程序根级别中的文件 .rvmrc 具有我需要的正确版本的 ruby​​ 解决了这个问题:

    rvm use ruby-1.9.3-p385
    

    【讨论】:

      猜你喜欢
      • 2018-10-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-06
      • 1970-01-01
      • 2020-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多