在工作中,我们的开发机器设置非常像生产机器。对于每个运行的项目,我们使用不同的用户。到目前为止,我们只做了Java和PHP项目,但现在我想开始做Ruby on Rails项目,所以我希望能够设置我的Rails应用程序,就像我们对Java和PHP一样,每个项目都有另一个用户。
我应该使用哪个Ruby版本管理器来执行此操作? RVM还是RBenv?我找不到有关RBenv支持多个用户的任何信息。
当我们进行RVM的多用户(系统范围)设置时,是否可以为每个用户设置默认的Ruby版本,因此每个人都有一个默认的RVM,但会为某些用户覆盖此默认值?
到目前为止,我们的Web服务器是Apache,因此mod乘客是运行我的Rails项目的最佳选择吗?
我也看过Pow,但我不认为这是在多用户设置中使用的好方法。
有什么想法吗?
答案 0 :(得分:4)
嗯,RVM 绝对是为多个用户构建的,每个用户安装都是如此。有关详细信息,请参阅installation page。
此外,请参阅该部分中的集成部分和Passenger页面,了解如何使用Passenger使用多个gemset,但是,Passenger仅限于一个Ruby。
为了能够在Ruby的空间内使用任何Ruby和任何gemset,你想为此设置Unicorn。您可以轻松使用Apache和Unicorn或NGinx和Unicorn来完成您想要的一切。
答案 1 :(得分:2)
RVM和RBENV将他们的文件(红宝石/宝石等)保存在用户文件夹中(〜/ .rvm,〜/ .rbenv)。所以你可以使用你喜欢的那个。
您可以使用小型项目的乘客,但对于大型项目 - 尝试使用Unicorn或Thin。
答案 2 :(得分:0)
您可能想尝试chruby。 chruby专门设计为允许在/usr/local/$ruby
或/opt/$ruby
中安装Rubies,但仍允许用户将gem安装到~/.gem/$ruby/$version/
。如果您以root身份使用chruby,则会将宝石安装到/path/to/$ruby/$gem_dir/
。