2010-02-17 19 views
12

tôi nhận được lỗi này khi tung ra máy chủ Mongrel của tôi ...Làm cách nào để khắc phục lỗi này? config.gem: Unpacked đá quý authlogic-2.1.3 trong vendor/đá quý không có tập tin đặc tả

$ script/server --debugger 
=> Booting Mongrel 
=> Rails 2.3.5 application starting on http://0.0.0.0:3000 
config.gem: Unpacked gem authlogic-2.1.3 in vendor/gems has no specification file. Run 'rake gems:refresh_specs' to fix this. 
=> Debugger enabled 
=> Call with -d to detach 
=> Ctrl-C to shutdown server 

Khi tôi chạy đá quý cào: refresh_specs như nó gợi ý Tôi gặp lỗi khác mặc dù:

rake aborted! 
undefined method `installed_source_index' for #<Gem::SourceIndex:0x100551a58> 

Bất kỳ suy nghĩ nào về cách khắc phục sự cố này?

Trả lời

22

Tôi không chắc chắn lý do tại sao nó bị hỏng trong Authlogic, nhưng tôi đã phải tự tạo ra nó.

Hãy thử điều này trong dự án Rails của bạn:

$ prompt> cd vendor/đá quý/authlogic-2.1.3

$ prompt> đặc điểm kỹ thuật đá quý authlogic> .specification

+0

Làm việc như một sự quyến rũ! Cảm ơn bạn đời :) –

+2

Điều này cho tôi một lỗi - "LRI: Đá quý không xác định 'authlogic'" Bất kỳ ý tưởng làm thế nào để giải quyết này? – Elitecoder

+1

gem install authlogic - Tôi đã có cùng một vấn đề, tôi đã dạy nó đã được cài đặt ... – ecoologic

4

tôi chỉ cần đi để kêu vang ở đây, bởi vì tôi trải nghiệm điều tương tự ngày hôm nay, ngoại trừ với một viên ngọc khác.

Tôi đã cập nhật hoptoad để sử dụng trình thông báo làm đá quý thay vì plugin và một trong các hướng dẫn từ trang Github là giải nén viên đá quý thành nhà cung cấp/đá quý.

Tôi đang trên Mac OS X, và tôi mở gói đá quý như vậy:

$> rake gems:unpack GEM=hoptoad_notifier 

Sau khi tôi đã làm điều này, tôi đã sai quy định, và đá quý đã không thực sự giải nén (nó đã tạo ra trong thư mục vendor/gems, nhưng không thực sự giải nén gem).

Tôi đã xóa thư mục từ nhà cung cấp/đá quý, và cố gắng một lần nữa như:

$> sudo rake gems:unpack GEM=hoptoad_notifier 

Làm việc thời gian này, giải nén đúng cách, và không có lỗi.

1

Tôi phải đăng nhập vào nhà cung cấp/đá quý/authlogic và xóa '.specification' từ .gitignore

Một khi bạn đã làm điều đó bạn có thể chạy đá quý cào: refresh_specs

Chỉ có vấn đề là lần sau khi bạn nâng cấp đá quý này .gitignore xấu trở lại

1

Tôi có cùng một vấn đề "không xác định GEM". Sau nhiều faffing về tôi tìm thấy công thức sau đây:

Đầu tiên, tôi đã cài đặt đá quý bằng cách sử dụng tiêu chuẩn "gem install authlogic", đặt gem trong /Library/Ruby/Gems/1.8.

Trong phạm vi RadRails, tôi đã sử dụng tác vụ rake "gems: unpack" có vẻ thu thập tất cả các đá quý có liên quan đến ứng dụng của bạn và đặt chúng vào/vendor/gems như mong muốn.

sau đó tôi gỡ bỏ cài đặt các viên ngọc rộng hệ thống để kiểm tra xem nó đã thực sự làm việc với: ngọc uninstall authlogic -install-dir =/Library/Ruby/Gems/1,8

vẻ để làm việc tốt.

0

xây dựng và cài đặt đá quý trước khi tạo file .specification

$ prompt> cd vendor/đá quý/authlogic-2.1.3

$ prompt> đá quý xây dựng authlogic.gemspec

$ prompt > gem install authlogic.gemspec

$ prompt> gem specification authlogic> .specification

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