2010-11-11 21 views
17

tôi bao gồm đá quý 'acts_as_rateable' trong Gemfile tôi nhưChỉ định một plugin như đá quý từ github trong Gemfile

này
gem 'acts_as_rateable', :git => 'git://github.com/azabaj/acts_as_rateable.git'

và sau đó khi tôi làm bundle install nó mang lại cho tôi thông báo lỗi này!

không thể tìm thấy viên ngọc 'acts_as_rateable (> = 0, thời gian chạy)' trong git: //github.com/azabaj/acts_as_rateable.git (ít thạc sĩ). Nguồn không chứa bất kỳ phiên bản của 'acts_as_rateable (> = 0, thời gian chạy)'

Tôi đang phát triển một plugin của riêng tôi, khi tôi bao gồm rằng, thậm chí cung cấp cho các lỗi tương tự như thế này ..

Tôi cho rằng điều này có liên quan đến gemspec?

Xin giúp

Rails phiên bản: 3.0.1 Rubygems phiên bản: 1.3.7 Bundler phiên bản: 1.0.3

cho tôi biết nếu bạn cần bất kỳ thông tin chi tiết khác ..

Trả lời

4

Các vấn đề là kho lưu trữ mà bạn liên kết đến không phải là một RubyGem. Bạn có thể nhận được với

$ rails plugin install git://github.com/azabaj/acts_as_rateable.git 

Edit: Câu trả lời này là chính xác về ngày nó được xuất bản. Rails 4 không hỗ trợ các plugin nữa, vì vậy bạn sẽ phải biến nó thành một gem cục bộ. Bundler có một số lệnh sẽ giúp bạn với nó, hoặc cách khác bạn có thể sử dụng một thư viện khác, ví dụ: https://github.com/anton-zaytsev/acts_as_rateable.

+0

oh ok, hiểu rồi. Kho lưu trữ có cần phải có tệp .gem để nó trở thành rubygem không? – Madhusudhan

+0

Ít nhất là vậy. Nhưng nhiều hơn như vậy nó nên được xuất bản để RubyGems để chắc chắn rằng nó ổn định như một viên ngọc. Github được sử dụng để xuất bản đá quý (nhưng không còn nữa) vì vậy một số đá quý cũ vẫn còn đó. –

2

Jakub Hampl là đúng, nhưng có vẻ lạ khi phụ thuộc vào repo git như thế. Tôi đoán bạn đang tự mình làm cho nó? Nếu vậy, hãy biến nó thành đá quý thực sự. Nó sẽ có một behavior_as_rateable.gemspec và bạn sẽ có thể phụ thuộc vào nó như bạn đã viết. Bundler làm cho cuộc sống của bạn dễ dàng, tạo ra các gemspec với

$ bundle gem acts_as_rateable 
+0

yeah bundle gem plugin_name đã giúp tạo .gemspec .. cảm ơn, tôi không biết điều đó ... – Madhusudhan

18

Nếu bạn muốn kéo một viên ngọc trực tiếp từ GitHub, bạn có thể đặt này vào GemFile của bạn:

gem 'twitter', github: 'sferik/twitter' 

nào sẽ sử dụng chi nhánh mặc định. Để chỉ định chi nhánh để sử dụng:

gem 'twitter', github: 'sferik/twitter', branch: 'branch_name' 
+0

... và đừng quên khởi động lại máy chủ. – hlcs

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