2010-04-10 41 views
5

Tôi có đá quý sau được xác định trong tập tin environment.rb của tôi:đá quý Unpacking [Rails 2.3.5]

config.gem "authlogic" 
    config.gem "paperclip" 
    config.gem "pauldix-feedzirra", :lib => "feedzirra", :source => "http://gems.github.com" 
    config.gem 'whenever', :lib => false, :source => 'http://gemcutter.org/' 

Tôi đã cho họ được cài đặt trên máy tính địa phương của tôi và tất cả mọi thứ đang làm việc tốt. Vì tôi đang làm việc trên một máy chủ chia sẻ (DreamHost), tôi cần phải giải nén những viên đá quý đó để làm cho chúng hoạt động (không thể cài đặt chúng như tôi đã làm trên máy tính của riêng mình để chúng hoạt động).

Trước khi tải lên, tôi chạy sau trên máy tính địa phương của tôi:

rake gems:unpack 

này tạo ra các thư mục sau trong /vender/gems:

authlogic-2.1.3, paperclip-2.3.1.1, pauldix-feedzirra-0.0.18, whenever-0.4.1 

Vì vậy, có vẻ như tất cả họ đang ở đó.

Khi tôi chạy rake db:migrate trên máy chủ, mặc dù, tôi nhận được những lỗi sau:

Missing these required gems: 
    pauldix-feedzirra 

Đối với một số lý do, feedzirra giải nén ngọc không được phát hiện. Ai có thể cung cấp một đầu mối là tại sao điều này đang xảy ra và một giải pháp tiềm năng?

Cảm ơn!


EDIT: Cảm ơn, nhưng mã để đưa vào môi trường.rb không hoạt động và gói sẽ không cài đặt đúng trên máy chủ của tôi. Bất cứ một đề nghị nào khác?

Trả lời

2

Đây không phải là chính xác một câu trả lời, nhưng kể từ khi tôi không bao giờ có thể nhận được config.gem để hoạt động đúng, tôi khuyên bạn nên sử dụng bất cứ khi nào tôi có thể Bundler. Nó chỉ hoạt động và nó xử lý phụ thuộc lẫn nhau giữa đá quý tốt. Nó cũng thay thế config.gem trong Rails 3 từ những gì tôi hiểu.

0

Hãy thử Following.put mã này trong envoirment.rb

config.load_paths += Dir["#{RAILS_ROOT}/vendor/gems/**"].map do |dir| 
    File.directory?(lib = "#{dir}/lib") ? lib : dir 
    end 
+0

Cảm ơn, nhưng điều này dường như không hoạt động ... –

0

Không biết liệu gợi ý của tôi có hữu ích hay không, bởi vì feedzirra được biên dịch mở rộng (dựa trên CURL tôi nghĩ). Giải pháp tốt hơn là cài đặt bình thường gemzitz (nó sẽ tự biên dịch) trên máy chủ của bạn.


Bạn chưa cài đặt (chưa đóng gói) feedzirra gem, nhưng pauldix-feedzirra. Có lẽ bạn cần feedzirra giải nén quá.

Cố gắng thêm

config.gem feedzirra 

vào environment.rb và chạy cục bộ

rake gems:install 
rake gems:unpack 

Dường như feedzirra ngọc giải nén là mất tích trong /vendor/plugins. Hãy xem liệu feedzirra có được sao chép ở đó sau các lệnh đó hay không ...

1

Tôi nhận thấy hai điều về feedzirra: thứ nhất, nó phụ thuộc vào 3 loại đá quý khác và ít nhất một trong số đó là các tiện ích mở rộng gốc. Và tôi sẽ gọi nó là "feedzirra" - Tôi không phải là fan của fiasco bị coi là bị coi là bị coi là bị coi thường.

Nếu nó chỉ là cũ, sau đó rake đá quý: giải nén: phụ thuộc sẽ làm các trick.

Tuy nhiên, ít nhất lề đường (feedzirra phụ thuộc vào) là xây dựng các tiện ích mở rộng và những tiện ích đó không thể đơn giản được giải nén. Bạn có thể có được Dreamhost để cài đặt chúng (chúc may mắn) hoặc cài đặt chúng vào thư mục gem cục bộ của người dùng.

Để làm điều đó, bạn sẽ cần phải cập nhật .gemrc của bạn và chắc chắn rằng nó bao gồm một dòng như: : user_install: true

Sau đó cào đá quý: cài đặt

Trừ khi môi trường triển khai của bạn giành chiến thắng không cho phép bạn xây dựng các tập tin thực thi, trong trường hợp này bạn sẽ cần phải mở gói cho một gói bị hạn chế ít hơn - tôi biết thực tế là Dreamhost không cung cấp các gói cho phép mở rộng đá quý.

(Và có vấn đề riêng về libcurl đang được triển khai ...)

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