2013-12-19 50 views
1

這兩個命令似乎產生幾乎同樣的事情Rails插件捆綁VS寶石

rails plugin new __name__ 
bundle gem __name__ 

有一個隱藏的細節我沒有注意到嗎?

你使用哪一個,基本上,爲什麼?

感謝

回答

1

它們都可以生成準系統寶石,但它們是不同的。

rails plugin new可能會在test以及基本test_helper中生成一個虛擬應用程序,如果您想在gem中添加一些功能/集成測試,這將非常方便。你也可以修改一下使用Rspec。 bundle gem不會那樣做。

如果你開發的Rails的寶石,需要這樣的測試,rails plugin會更好。否則bundle或寶石生成寶石jeweller

+0

但是你通常總是需要一個測試模塊否? –

+0

一些寶石只需要單元測試,並不總是需要假人。 –

+0

啊,好的,我接受了。謝謝。 –

0

插件贊成寶石或多或少棄用在最近版本的Rails。

0

據我所知,運行rails plugin my_gem只需在您的rails應用程序的根目錄下創建一個'my_gem'目錄。

與運行bundle gem my_gem沒什麼不同,只是它除掉了幾個測試文件,並運行bundle install。

如果您要創建一個可在rails上運行的gem(需要「rails環境」(請參閱​​test/dummy/app目錄)),這可能會很有用。

不過,如果你這樣做,它會出現在你的rails項目的根目錄下。你可以隨時移動它,但如果你要運行捆綁寶石,你可以在任何你想要的地方進行。

+0

是的,但根據doc rails插件新用於創建gem:http://guides.rubyonrails.org/plugins.html –

+0

@xdotcommer,而不是閱讀和引用其他人,你需要閱讀原始文檔並弄髒你的手。 –

+0

感謝您的建議。我正在處理關於情況的知識 - 我對gemified插件不熟悉 - 所以我認爲這會比說lmgtfy更好,因爲其他帖子看起來符合我的理解。 – xdotcommer