Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 对于多用户Ruby设置,哪种方法可行?RVM还是RBenv?_Ruby On Rails_Ruby_Rvm_Passenger - Fatal编程技术网

Ruby on rails 对于多用户Ruby设置,哪种方法可行?RVM还是RBenv?

Ruby on rails 对于多用户Ruby设置,哪种方法可行?RVM还是RBenv?,ruby-on-rails,ruby,rvm,passenger,Ruby On Rails,Ruby,Rvm,Passenger,在工作中,我们有一台开发机器,就像生产机器一样。对于每个正在运行的项目,我们使用不同的用户。到目前为止,我们只做Java和PHP项目,但现在我想开始做RubyonRails项目,所以我希望能够像在Java和PHP中一样设置Rails应用程序,每个项目都有另一个用户 我应该使用哪个Ruby版本管理器来执行此操作?RVM还是RBenv?我找不到任何关于RBenv支持多个用户的信息 当我们对RVM进行多用户(系统范围)设置时,是否可以为每个用户设置默认的Ruby版本,这样每个人都有一个默认的RVM,但

在工作中,我们有一台开发机器,就像生产机器一样。对于每个正在运行的项目,我们使用不同的用户。到目前为止,我们只做Java和PHP项目,但现在我想开始做RubyonRails项目,所以我希望能够像在Java和PHP中一样设置Rails应用程序,每个项目都有另一个用户

我应该使用哪个Ruby版本管理器来执行此操作?RVM还是RBenv?我找不到任何关于RBenv支持多个用户的信息

当我们对RVM进行多用户(系统范围)设置时,是否可以为每个用户设置默认的Ruby版本,这样每个人都有一个默认的RVM,但对某些用户覆盖此默认值

到目前为止,我们的web服务器是Apache,所以mod passenger是运行我的Rails项目的最佳选择吗

我还研究了Pow,但我认为它不是一个用于多用户设置的好解决方案


有什么想法吗?

RVM和RBENV将他们的文件(红宝石/宝石等)保存在用户文件夹(~/.RVM、~/.RBENV)中。所以你可以用你喜欢的


您可以将passenger用于小项目,但对于大项目,请尝试使用Unicorn或Thin。

RVM和RBENV将其文件(红宝石/宝石等)保存在用户文件夹(~/.RVM,~/.RBENV)中。所以你可以用你喜欢的

您可以在小项目中使用passenger,但对于大项目,可以尝试Unicorn或Thin。

嗯,RVM绝对是为多个用户以及每个用户安装而构建的。有关更多信息,请参阅

另外,请参阅该部分的集成部分和乘客页面,了解如何在乘客中使用多个gemset,但是乘客仅限于一个Ruby

为了能够使用任何Ruby和该Ruby空间内的任何gemset,您需要为此设置Unicorn。您可以轻松地使用Apache和Unicorn或NGinx和Unicorn来完成您想要的一切。

嗯,RVM绝对是为多个用户以及每个用户安装而构建的。有关更多信息,请参阅

另外,请参阅该部分的集成部分和乘客页面,了解如何在乘客中使用多个gemset,但是乘客仅限于一个Ruby


为了能够使用任何Ruby和该Ruby空间内的任何gemset,您需要为此设置Unicorn。您可以轻松地使用Apache和Unicorn或NGinx和Unicorn来完成所有您想要的任务。

您可能想尝试一下。chruby专门设计用于允许使用安装在
/usr/local/$ruby
/opt/$ruby
中的Rubies,但仍然允许用户将gems安装到
~/.gem/$ruby/$version/
中。如果您使用chruby作为根目录,gems将安装到
/path/to/$ruby/$gem\u dir/

中,您可能想试试。chruby专门设计用于允许使用安装在
/usr/local/$ruby
/opt/$ruby
中的Rubies,但仍然允许用户将gems安装到
~/.gem/$ruby/$version/
中。如果使用chruby作为根目录,gems将安装到
/path/to/$ruby/$gem_dir/

中,rbenv和rvm是为单用户使用而构建的。我建议不要在全系统范围内使用它们,因为它们并不是为此而构建的。这就是RVM最初删除其系统范围安装和文档的原因。如果您确实在系统范围的环境中使用rbenv,那么rbenv将更加轻量级,并且更易于调试,尽管rbenv和rvm是为单用户使用而构建的。我建议不要在全系统范围内使用它们,因为它们并不是为此而构建的。这就是RVM最初删除其系统范围安装和文档的原因。rbenv更加轻量级,如果您确实在系统范围的环境中使用它,那么它将更容易调试,尽管您也可以在小项目中使用它。然而,Unicorn可能是更好的选择,因为它非常轻量级,而且乘客通常仅限于一个ruby版本。多用户RVM安装不安装在~/.RVM中,但在/usr/local/rvmyou中也可以将乘客用于小型项目。然而,Unicorn可能是更好的选择,因为它非常轻量级,而且乘客通常仅限于一个ruby版本。多用户RVM安装不安装在~/.RVM中,但在/usr/local/rvmI中,必须与“为多用户构建”不一致。e、 g.rvm组的用户可以删除由rvm组的另一个用户创建的gemset。它是rvm组的一部分,该组专为多用户住宅设计。这是标准的Unix权限集。这是正常的。这就是Unix组的工作方式。在这方面没有特殊性。您可以在unix下的普通用户组中执行相同的操作,也可以使用rvm执行相同的操作。使用RVM并不能神奇地改变这一点。在Unix下重新定义组的工作方式,您可能能够改变这一点。在此之前,您为unix组安装的任何软件都将像这样运行。我同意您的看法。然而,关键是rvm设计,就像现在一样,允许用户踩到另一个用户的脚。因此,我不会为我的用户群部署它。我们已经为用户实现了在/usr/local/rvm中安装rvm的功能,并在$HOME/.rvm中安装他们的gem集和rubies。是的,我承认这意味着你需要更多的磁盘空间,但是,我相信这会给你你想要的分离度。这正是我们需要的,Daryl恭喜!我不同意“为多个用户构建”。e、 g.rvm组的用户可以删除由rvm组的另一个用户创建的gemset。它是rvm组的一部分,该组专为多用户住宅设计。这是标准的Unix权限集。这是正常的。这就是Unix组的工作方式。在这方面没有特殊性。您可以在unix下的普通用户组中执行相同的操作,也可以使用rvm执行相同的操作。使用RVM并不能神奇地改变这一点。在Unix下重新定义组的工作方式