Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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
RVM与ruby的本机安装_Ruby_Native_Rvm - Fatal编程技术网

RVM与ruby的本机安装

RVM与ruby的本机安装,ruby,native,rvm,Ruby,Native,Rvm,我想知道在生产服务器中使用rvm是否有任何缺点。我更喜欢什么,rvm还是本机安装?为什么 别做,呃,也许做吧 简单总是有回报的 Rvm是一种开发工具。因为您不会在生产服务器上动态地来回切换Ruby版本,所以它不会有任何好处,可能会造成任意程度的痛苦和痛苦 更新:好的,我们有一些非常好的评论,现在了解更多。首先,rvm实际上首先是一种生产工具。(谁知道呢?) 所以这个问题可能没有一个单一的答案。如果服务器上只运行一个应用程序,或者如果所有服务器应用程序都是Rails3,那么就不需要rvm。但其他场

我想知道在生产服务器中使用rvm是否有任何缺点。我更喜欢什么,rvm还是本机安装?为什么

别做,呃,也许做吧 简单总是有回报的

Rvm是一种开发工具。因为您不会在生产服务器上动态地来回切换Ruby版本,所以它不会有任何好处,可能会造成任意程度的痛苦和痛苦

更新:好的,我们有一些非常好的评论,现在了解更多。首先,rvm实际上首先是一种生产工具。(谁知道呢?)

所以这个问题可能没有一个单一的答案。如果服务器上只运行一个应用程序,或者如果所有服务器应用程序都是Rails3,那么就不需要rvm。但其他场景将受益于环境管理。

系统安装:

  • 容易接近
rvm安装:

  • 可以切换(快速)ruby
  • 如果多个应用程序需要,允许使用多个版本
  • 轻松升级ruby版本并管理gems更新

    • 编译您自己的Ruby和MongoDB、PostgreSQL、MySQL、redis以及您所依赖的任何其他支持工具。通过这种方式,您可以完全控制在任何地方使用的版本,并且可以随意应用任何必要的安全或bug修复升级,而无需等待操作系统供应商提供系统更新和补丁。编译您自己的环境还可以更轻松地确保您的开发、登台和生产环境都使用您所需的所有内容的相同版本


      如果使用RVM使您更容易构建自己的工具链,那么请使用RVM。在任何情况下,使用系统提供的工具通常会使您落后几个版本,并且在需要应用关键修补程序时会让您挂起。

      使用RVM,因为这样您的应用程序就能完全满足其需要,并且系统更新不会干扰或更改您的要求。我设置的一台主机的发行版是1.8,但我想为1.9.2开发。RVM让我运行一个自定义版本,而不是破坏发行版版本。RVM在轨道部署方面也与乘客phusion配合良好。

      使用RVM。因为它更简单


      您将在一个地方拥有所有发行版,在一个地方拥有所有gem,并且您使用的工具与您在开发中使用的工具相同。也没有性能问题。

      简单多了?在生产服务器上,您只需将每个ruby安装到它自己的目录中。然后,应用程序服务器需要在其路径中包含该目录。没那么难。您仍然可以并排安装每个Ruby。无论如何,您可能正在生产环境中运行REE,而它只是一个tarball,您只需将其解压缩到一个目录中。问题解决了。为什么需要在生产服务器上升级Ruby?您计划多久这样做一次?您计划这样做的速度不应该让使用RVM节省30分钟变得无关紧要吗?我非常喜欢RVM for developer Sandbox,但我认为它在生产系统上没有什么大的优势。我编译了我需要的Ruby版本。如果我认为以后需要升级版本而不完全破坏机器,我会在运行
      时设置
      --PREFIX
      ,将
      配置为安装在
      /opt
      中的某个位置,并调整需要特定版本的应用程序的路径以反映这种差异。然后,并行安装另一个版本的Ruby就变得很容易了。如果您运行的服务器上有1.8x应用程序和1.9x应用程序,该怎么办?我们正在进行这项工作,很难同时有两颗红宝石。RVM在这种情况下帮助很大。尝试使用安装了2个红宝石的bundler,这很痛苦。RVM不仅仅用于来回切换Ruby,它还使运行并发版本变得更加容易。如果一个邪恶的外星霸主要求您同时运行5个版本的Ruby怎么办?如果。。。在不存在需求的地方发明需求是不划算的。我没有投你反对票,但从源代码将Ruby安装到所选目录是如此容易,以至于我认为这些都不是很好的论据。你读到这篇文章可能让系统管理员出了一身冷汗!非常感谢您澄清它不会对性能产生任何影响:)