2011-12-19 33 views
7

bundle install --standalone看起來像一個奇妙的想法,但我很難包裝如何使用它,這不會要求您安裝rubygems或bundler。我該如何使用bundle install --standalone與Rails應用程序?

它生成一個bundler/setup.rb,它可以按順序添加我的寶石的lib和ext目錄。據推測,我需要做的就是將其添加到加載路徑,一切都很好。

但是bundler/setup.rb似乎並不需要任何東西。現在

,這很好,因爲正常的捆紮機/安裝不需要任何東西要麼和它留下來的應用程序調用Bundler.require

Rails的默認情況下不與這個小小曲的要求:

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

在點擊它時,沒有被定義(bundler/setup.rb沒有定義它),所以它跳過了這個塊。

那麼我究竟需要捆綁器呢?如果bundle install --standalone實際捆綁捆綁器,大概我可以手動呼叫require bundler,然後定義,但它似乎從捆綁中排除自己。

在那裏有一個應用程序,實際上使用bundle install --standalone,如果是這樣,如何?

回答

2

爲了使Rails能夠正常工作,您可以刪除Bundler.require調用並手動添加需要的所有行。

這有利有弊。從好的一面來看,它可以使加載應用程序的速度更快,因爲在加載時不需要所有的寶石。它還明確了在哪裏使用寶石。

不利的一面是,您必須將所有需要的調用添加到您的應用程序中。

查看Myron Marstons blog post以獲得更好的解釋。

-1

bundle install --deployment #install ruby​​ &捆綁成gem到項目目錄

相關問題