Linux 发行版与 gem 安装的 gem 的优缺点?
Pros and Cons of gems from a Linux distribution vs gem install?
Linux 发行版如 Fedora 打包并维护大量 rpm 包,以便使用 yum
或现在 dnf
轻松安装。即使 Ruby 在 Rails.
问题是,在制作将使用约 10 个宝石的 RoR 网站时,与 gem install
相比,使用 Linux 发行版中的打包宝石的优缺点是什么?
您应该使用 Bundler 来管理 Ruby 宝石。一些 Ruby 个 gem 依赖于其他 gem,因此您的项目可能只直接使用 10 个 gem,但可能总共有 100 个依赖项。如果您使用 Gemfile 或 gemspec 列出您的依赖项并使用捆绑器管理它们,那么另一个 Ruby 开发人员可以拉取您的代码库和 运行 bundle install
以获得所有具有正确版本的 gem机.
gem is the front end to RubyGems, a sophisticated package manager
for Ruby.
您的发行版可能不会包含所有可用的 ruby gem。
并且您的发行版中的 gems 可能不是最新的。
这里有一个例子 运行 Ubuntu 14.04.
$: sudo apt-cache show ruby-rails-4.0
=> Version: 4.0.2+dfsg-2
$ gem search "^rails$"
=> rails (4.2.3)
如您所见,我发布的 gem 已经很旧了,而 rubygems 的 gem 是最新的 ;)
Linux 发行版如 Fedora 打包并维护大量 rpm 包,以便使用 yum
或现在 dnf
轻松安装。即使 Ruby 在 Rails.
问题是,在制作将使用约 10 个宝石的 RoR 网站时,与 gem install
相比,使用 Linux 发行版中的打包宝石的优缺点是什么?
您应该使用 Bundler 来管理 Ruby 宝石。一些 Ruby 个 gem 依赖于其他 gem,因此您的项目可能只直接使用 10 个 gem,但可能总共有 100 个依赖项。如果您使用 Gemfile 或 gemspec 列出您的依赖项并使用捆绑器管理它们,那么另一个 Ruby 开发人员可以拉取您的代码库和 运行 bundle install
以获得所有具有正确版本的 gem机.
gem is the front end to RubyGems, a sophisticated package manager for Ruby.
您的发行版可能不会包含所有可用的 ruby gem。 并且您的发行版中的 gems 可能不是最新的。
这里有一个例子 运行 Ubuntu 14.04.
$: sudo apt-cache show ruby-rails-4.0
=> Version: 4.0.2+dfsg-2
$ gem search "^rails$"
=> rails (4.2.3)
如您所见,我发布的 gem 已经很旧了,而 rubygems 的 gem 是最新的 ;)