rlk*_*024 29 rubygems ruby-on-rails passenger bundler rvm
按照目前的最佳做法,每种方法的作用是什么?
基于我对Bundler和RVM的有限理解,似乎他们 - 像Rubygems  - 有自己的宝石安装位置.另外,对于每一个,都可以选择使用sudo或安装到主目录中的系统路径.然后有能力使用Bundler供应宝石(适用时,例如使用Rails).
所以在我看来现在至少有七个地方可以安装宝石:
那么,管理这一切的最佳方法是什么?我们是否使用所有这三个(Rubygems,Bundler,RVM)并告诉他们所有人将宝石安装到同一个地方?我们sudo一直在使用,有时候还是从不使用?我们是否应该在生产和开发机器上使用不同的策略?
在相关的说明中,围绕Rubygems的Bundler和RVM包装器,它们是它们的替代品,还是它们完全正交?
Per*_*mal 32
来自Bundler的网站:
Bundler可以轻松确保您的应用程序具有启动和运行所需的依赖项,而不会出现错误.
这意味着对于其他开发人员或您在另一台计算机上,通过运行准备好进一步开发或使用它,bundle install并且拥有启动和运行所需的一切,这是微不足道的.
RVM用于在同一台机器上管理多个版本的Ruby,并在它们之间进行切换.Gemsets是RVM提供的一项强大功能,可将一个应用程序/库的gem与系统的其余部分隔离开来.
当一起使用RVM和Bundler时,RVM告诉Bundler gem应该去哪里,Bundler将它们安装到RVM文件夹中.
两者(关于RVM中的gems)使用并依赖于Rubygems,因此它们最接近包装器.
我个人使用Bundler和RVM来完成我的所有项目.没有gemsets,只有Bundler来解决和修复问题,它确实没有失败.安装gems没有sudo,最终在RVM定义的地方.我的系统上的默认Ruby安装是独立的,并且没有任何内容安装到Rubygems系统/用户路径
| 归档时间: | 
 | 
| 查看次数: | 7080 次 | 
| 最近记录: |