2012-10-24 79 views
9

當我從github上安裝一個寶石它給我的錯誤:如何修復無效的gemspec?

number_internationalizer at /usr/local/rvm/gems/[email protected]_internationalizer/bundler/gems/number_internationalizer-c0d642b04e87 did not have a valid gemspec. 
This prevents bundler from installing bins or native extensions, but that may not affect its functionality. 
The validation message from Rubygems was: 
    "FIXME" or "TODO" is not a description 

的gemspec是:

# -*- encoding: utf-8 -*- 
lib = File.expand_path('../lib', __FILE__) 
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) 
require 'number_internationalizer/version' 

Gem::Specification.new do |gem| 
    gem.name   = "number_internationalizer" 
    gem.version  = NumberInternationalizer::VERSION 
    gem.authors  = ["Myself"] 
    gem.email   = ["[email protected]"] 
    gem.description = %q{Internationalize numbers adding normalization, validation and modifying the number field to restor the value to its original if validation fails} 
    gem.summary  = gem.description 
    gem.homepage  = "" 

    gem.files   = `git ls-files`.split($/) 
    gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) } 
    gem.test_files = gem.files.grep(%r{^(test|spec|features)/}) 
    gem.require_paths = ["lib"] 
end 

我怎樣才能解決這個錯誤?

+1

您是如何解決此問題的?我有這樣一個相似的! – Emna

回答

4

該錯誤與您顯示的gemspec不同步,錯誤表示gem.descripton無效。根據錯誤,你使用git中的Gem,它有一個commit fixing the invalid gem.description

有無捆紮機更新到最新number_internationalizer承諾:

bundle update 
+0

我這樣做了,現在我在試圖運行'rails s'的時候'無法在任何源文件中找到i18n-0.6.1'。我運行'bundle show i18n',答案是'/ usr/local/rvm/gems/ruby​​-1.9.3-p194 @ number_internationalizer/gems/i18n-0.6.1'。我不確定爲什麼'@ number_internationalizer'出現。 –

+2

我發現了新錯誤的解決方案。我之前使用過'rvm gemset use number_internationalizer'。我不得不重置rvm。 –

1

我強烈感到有用於TODO或在解釋器解析您的gemspec FIXME檢查。如果檢查出這兩個單詞中的任何一個,則此檢查已編程爲引發錯誤。我有這個相同的問題,我通過刪除任何在我的gemspec中對TODO的引用來解決它。我在主頁會話中放入了一個有效的URI,並且所有內容都開始正常工作

+0

用'FART'和'bundle install'改變了'TODO'成功 – Salomanuel

相關問題