像Fedora软件包这样的Linux发行版,并将大量的gem保存为rpm软件包,以便使用yum
或现在的dnf
轻松安装。 即使是Ruby on Rails。
问题是,在build立一个使用~10gem的RoR网站的时候,与使用gem install
相比,使用Linux发行版中的gem install
包的优点和缺点是什么?
你应该使用Bundler来管理Ruby的宝石。 一些Ruby宝石依赖于其他宝石,所以你的项目可能只能直接使用10个宝石,但总共可能有100个依赖项。 如果您使用Gemfile或gemspec来列出您的依赖关系并使用捆绑程序来管理它们,那么比另一个Ruby开发人员可以拉动您的代码库并运行bundle install
来获得适当版本的所有gem。
gem是RubyGems的前端,RubyGems是Ruby的一个复杂的包管理器。
也许,你的发行版不会包含所有可用的红宝石。 而你的发行版中的宝石可能不是最新的。
这里是一个在Ubuntu 14.04上运行的例子。
$: sudo apt-cache show ruby-rails-4.0 => Version: 4.0.2+dfsg-2 $ gem search "^rails$" => rails (4.2.3)
如你所见,我的分配的宝石是相当古老的,而红宝石的宝石是最新的;)