3

gem(carrierwave)をインストールしようとしていますが、コマンドbundle installを使用すると、次のようなエラーが発生します。

[/home/sup1re/superrrr/vendor/bundle/ruby/1.8/specifications/carrierwave-0.6.2.gemspec]の無効なgemspec:不正な要件["#1.1.4"]

carrierwave(0.6.2)のインストール[/home/sup1re/superrrr/vendor/bundle/ruby/1.8/specifications/carrierwave-0.6.2.gemspec]の無効な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

宝石のバージョンは1.8.5です

Gemfileの何が問題なのかしら。

コメントは大歓迎です。ありがとうございました。

これが、エラーの原因となる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
4

3 に答える 3

5

Rubygems を更新する必要があります。これは Carrierwave の問題ではありません。 sudo gem update --systemまたはgem update --systemセットアップによって異なります。

于 2012-05-10T06:36:11.207 に答える
3

rubygems を更新する必要がありますが、まず壊れた gemspec を修正する必要があります。

エディターで開き.../specifications/carrierwave-0.6.2.gemspec、 のすべてのインスタンスを削除します#<YAML::Syck::DefaultKey:0x718a860d0a98>。(またはsed -i 's/#<.*> //' blah.gemspec。)

次に、他の場所で説明されているように実行gem update --systemします。

于 2012-05-10T08:52:06.640 に答える
0

私にとって、この問題は、RVM で使用していた Ruby のバージョンで発生しました。Carrierwave gem を ruby​​ 1.8.7 にインストールしようとすると失敗し、私のアプリは ruby​​ 1.9.3 を使用していました。

アプリのルート レベルにあるファイル.rvmrcに、必要な正しいバージョンの ruby​​ を含めることで解決しました。

rvm use ruby-1.9.3-p385
于 2013-02-26T11:09:41.097 に答える