宝石和插件有什么区别?

Moh*_*ain 5 ruby-on-rails

这可能是一个非常蹩脚的问题,但我仍然很困惑何时应该使用gem以及何时应该在我的项目中使用插件.

它们之间的基本区别是什么?

Chr*_*ton 6

基本的区别是gem需要安装在运行Rails应用程序的系统上,而插件则与应用程序一起部署.更具体地说,插件存在于供应商/插件中,而宝石需要使用rake gem install gem_name进行安装.

至于何时使用它们,宝石往往更容易保持最新,但更具体地说,一些宝石使用本机C代码并专门为给定的操作系统(如Nokogiri)编译.这些需要作为宝石安装,因为它们在移动到另一个系统时将无法工作.而诸如acts_as_commentable之类的东西使用直接的ruby代码,并且可以从系统移动到系统.