关于 http://github.com/collectiveidea/delayed_job
它说:
To install as a gem, add the following to config/environment.rb:
config.gem 'delayed_job'
Runrake 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/