gpt4 book ai didi

ruby-on-rails - 在 Ruby on Rails 中,将某些东西安装为 gem 或插件有什么区别?

转载 作者:行者123 更新时间:2023-12-04 07:37:24 24 4
gpt4 key购买 nike

关于 http://github.com/collectiveidea/delayed_job

它说:

To install as a gem, add the following to config/environment.rb:
config.gem 'delayed_job'
Run rake gems:install

对比

To install as a plugin:
script/plugin install git://github.com/collectiveidea/delayed_job.git

将其安装为 gem 或插件有什么区别?

此外,第一种方法只安装 gem 2.0.3,这可能是 tobi 的版本? (rake gems:install 通过gem list -r delayed_job 安装版本) 是http://github.com/tobi/delayed_job ?“插件”方式具体说是collectiveidea版本?安装哪一个并不重要?

最佳答案

Gem 和 vendored 插件都指的是 collectiveidea 的分支。事实上,collectiveidea 是 RubyGems 上 delayed_job Gem 的当前维护者。

也就是说,一般来说,将插件安装为 Gem 有很多优点。

  • 您可以安装一次并在许多不同的项目中使用它
  • 您可以利用依赖项解析
  • 你可以升级只是改变版本号
  • 您不需要将整个插件代码存储在您的 SCM 中

那么,为什么可以“作为插件”安装插件?有很多不同的答案。

一开始,Rails 插件是作为简单的库出现的。随着时间的推移,开发人员开始注意到将插件打包为 Gem 的优势。

此外,在 Rails 3 之前,一些插件功能只保留给插件而不保留给 Gems。例如,在 Rails 3 之前,插件可以捆绑 rake 任务,而没有办法将新的 rake 任务或新路由注入(inject)主应用程序。

在过去的两年中,大部分 Rails 插件都提供了作为插件或作为 Gem 安装的能力。随着 Rails 3 和 Bundler 的到来,我确信插件将被弃用,取而代之的是 Gems。

关于ruby-on-rails - 在 Ruby on Rails 中,将某些东西安装为 gem 或插件有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3629919/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com