宝石或插件,什么对ruby on rails项目有好处

时间:2010-02-25 06:39:20

标签: ruby-on-rails

我在部署到不同的机器时遇到了rails gem的一些问题。它需要一些额外的工作来安装gem.Which最适合rails项目.Plugin或Gem。 对于某些宝石,没有找到相应的插件。

我正在寻找使用插件而不是宝石的优势,反之亦然。

3 个答案:

答案 0 :(得分:3)

您可以将Gems解压缩到Rails应用程序,这将确保它们与您的应用程序一起部署:

rake gems:unpack:dependencies

现在您不再需要在部署到的服务器上安装gem。这已经解决了大多数部署问题。大多数其他问题由Bundler解决,它将包含在Rails 3中。

如果可以,请使用宝石而不是插件。宝石通常更容易管理,因为它们的版本控制优于插件。对于公共Rails扩展,我认为没有理由使用插件而不是gems,但有些作者只提供其中一个。在那种情况下,你别无选择。

答案 1 :(得分:1)

如果插件被冻结到项目中,我通常总是使用插件,这意味着在部署项目时没有问题。您可以将宝石冻结到一个项目中,但如果它们需要本机构建,那么根据我的经验,它会带来更多的麻烦。

我的理解是宝石比插件更容易升级。

您还应该查看用于处理这些部署问题的rails 3 bundler。

答案 2 :(得分:1)

对我来说,首选插件。我遇到了很多情况,我的配置不正确environment.rb,宝石不会分配版本。然后服务器管理员执行:

sudo gem update

现在我的rspec测试无法运行,因为更新安装了测试单元1.2.2,我的特定设置需要1.0.1(或其他)。