2012-10-24 45 views
9

Khi tôi cài đặt một viên ngọc từ github nó mang lại cho tôi những lỗi:Cách khắc phục gemspec không hợp lệ?

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 

Các gemspec là:

# -*- 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 

Làm thế nào tôi có thể khắc phục lỗi đó?

+1

Bạn giải quyết vấn đề này như thế nào? Tôi có một cái tương tự! – Emna

Trả lời

4

Lỗi có vẻ không đồng bộ với gemspec bạn hiển thị, lỗi cho biết gem.descripton không hợp lệ. Theo lỗi, bạn đang sử dụng Gem từ git, có commit fixing the invalid gem.description.

Có Bundler cập nhật mới nhất của number_internationalizer cam kết:

bundle update 
+0

Tôi đã làm điều đó và bây giờ tôi nhận được 'Không thể tìm thấy i18n-0.6.1 trong bất kỳ nguồn nào' khi cố gắng chạy' rails s'. Tôi chạy 'bundle show i18n' và câu trả lời là'/usr/local/rvm/gems/ruby-1.9.3-p194 @ number_internationalizer/gems/i18n-0.6.1'. Tôi không chắc tại sao '@ number_internationalizer' lại xuất hiện. –

+2

Tôi đã tìm ra giải pháp cho lỗi mới. Tôi đã sử dụng «rvm gemset sử dụng number_internationalizer' trước đây. Tôi đã phải thiết lập lại rvm. –

1

Tôi cảm thấy có một tấm séc cho TODO hoặc FIXME trong khi người phiên dịch được phân tích cú pháp gemspec của bạn. Kiểm tra này đã được lập trình để ném một lỗi nếu nó thấy bất kỳ một trong hai từ này. Tôi đã có cùng một vấn đề này và tôi giải quyết nó bằng cách loại bỏ bất kỳ tham chiếu đến TODO trong gemspec của tôi. Tôi đặt một uri hợp lệ trong phiên trang chủ và mọi thứ bắt đầu hoạt động tốt trở lại

+0

thay đổi 'TODO' bằng' FART' và 'bundle install' đã thành công – Salomanuel

Các vấn đề liên quan