2012-05-10 166 views
3

安裝錯誤,我試圖安裝一個寶石(carrierwave),當我使用命令捆綁安裝我有這樣的錯誤:束上carrierwave寶石

無效gemspec在 [/家/ sup1re /superrrr/vendor/bundle/ruby/1.8/specifications/carrierwave-0.6.2.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

,我得到這個錯誤

enter image description here

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

規格:

紅寶石1.8.7(2011-02-18 PATCHLEVEL 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{[email protected]}] 
    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 
+2

請您粘貼錯誤日誌正確的格式不是圖像。 – suvankar

+0

我粘貼錯誤,我還包括圖像,這樣其他人將有我的錯誤的可視化表示。感謝您的建議 –

+0

您是否從回購安裝了rubygems?你使用哪個操作系統? –

回答

5

您需要更新RubyGems的,這不是一個carrierwave問題。 sudo gem update --systemgem update --system取決於您的設置。

+0

我你的意思取決於你的設置。可以舉個例子嗎?真正appriciate –

+1

這對我有效。 – danneu

3

您需要更新rubygems,但第一個您需要修復破損的gemspecs。

在編輯器中打開.../specifications/carrierwave-0.6.2.gemspec,並刪除#<YAML::Syck::DefaultKey:0x718a860d0a98>的所有實例。 (或sed -i 's/#<.*> //' blah.gemspec。)

然後如其他地方所述運行gem update --system

0

對我來說,這個問題出現在我用RVM使用的Ruby版本中。當試圖在紅寶石1.8.7中安裝carrierwave寶石時,它失敗了,我的應用使用了ruby 1.9.3。

我解決它通過在我的應用程序的根目錄文件.rvmrc有正確版本的紅寶石,我需要:

rvm use ruby-1.9.3-p385