簡體   English   中英

寶石還是插件,對Ruby on Rails項目有什么好處

[英]Gem or Plugin , what is good for a ruby on rails project

我在將Rails gem部署到其他機器時遇到了一些問題,這需要在安裝gem上做一些額外的工作,其中最適合Rails項目的是Plugin或Gem。 對於某些寶石,沒有找到相應的插件。

我正在尋找使用插件優於gem的優勢,反之亦然。

您可以將gem打包到您的Rails應用程序中,這將確保它們與您的應用程序一起部署:

rake gems:unpack:dependencies

現在,您不再需要在部署到的服務器上安裝gem。 這已經解決了大多數部署問題。 Bundler解決了大多數其他問題,該問題將包含在Rails 3中。

如果可以,請在插件上使用gems。 寶石通常更易於管理,因為它們的版本優於插件。 對於公共的Rails擴展,我認為沒有理由使用插件代替gems,但是有些作者只提供了兩者之一。 在這種情況下,您別無選擇。

我通常總是使用一個插件(如果可用),因為它會凍結到項目中,這意味着在部署項目時不會有任何問題。 您可以將寶石凍結到一個項目中,但是如果它們需要本機構建,則它會帶來比根據我的經驗值更多的麻煩。

我的理解是,寶石比插件更容易升級。

您還應該研究用於處理這些部署問題的Rails 3捆綁器。

對我來說,首選插件。 我遇到了許多情況,其中我的environment.rb配置不正確。rb和gem不會分配任何版本。 然后,服務器管理員執行以下操作:

sudo gem update

現在,我的rspec測試將無法運行,因為該更新安裝了測試單元1.2.2,而我的特定設置需要1.0.1(或其他功能)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM