2011-12-19 29 views
7

bundle install --standalone có vẻ như là một ý tưởng tuyệt vời, nhưng tôi đang gặp khó khăn trong việc sử dụng nó mà không cần phải cài đặt rubygems hoặc bundler.Tôi phải sử dụng gói cài đặt - độc lập với ứng dụng Rails như thế nào?

Nó tạo ra một bundler/setup.rb mà thêm thư mục lib và ext của đá quý của tôi, dường như theo thứ tự. Có lẽ, tất cả những gì tôi cần làm là thêm nó vào đường dẫn tải, và tất cả đều tốt.

Nhưng bundler/setup.rb dường như không thực sự yêu cầu bất cứ điều gì.

Bây giờ, đó là tốt, vì bundler bình thường/thiết lập không đòi hỏi bất cứ điều gì hoặc và lá nó vào ứng dụng để gọi Bundler.require

Rails theo mặc định nào yêu cầu với Ditty này chút:

if defined?(Bundler) 
    Bundler.require(*Rails.groups(:assets => %w(development test))) 
end 

Tại thời điểm nó chạm, không được xác định (bundler/setup.rb không xác định nó), vì vậy nó bỏ qua khối.

Vì vậy, làm thế nào chính xác để tôi yêu cầu bundler. Nếu bundle install --standalone gói thực sự đi kèm, có lẽ, tôi có thể gọi theo cách thủ công require bundler và sau đó đã xác định , nhưng dường như loại trừ chính nó khỏi gói.

Có ứng dụng nào ở đó thực sự sử dụng bundle install --standalone và nếu có thì làm cách nào?

Trả lời

2

Để làm việc này với Rails, bạn xóa cuộc gọi Bundler.require và thêm thủ công tất cả các dòng yêu cầu khi cần.

Điều này có ưu và khuyết điểm. Về mặt tích cực, nó có thể làm cho tải ứng dụng của bạn nhanh hơn vì không phải tất cả các đá quý phải được yêu cầu tại thời gian tải. Nó cũng làm rõ những gì đá quý đang được sử dụng ở đâu.

Ở phía bên trái, bạn phải thêm tất cả các cuộc gọi yêu cầu vào ứng dụng của mình.

Hãy xem Myron Marstons blog post để có giải thích tốt hơn.

-1

cài đặt gói - triển khai #install ruby ​​& đóng gói đá quý vào thư mục của dự án

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