【问题标题】:Does using passenger defeat the purpose of using RVM?使用乘客是否会破坏使用 RVM 的目的?
【发布时间】:2011-04-15 02:05:38
【问题描述】:

据我所知,Passenger 只能配置为使用一个版本的 Ruby。因此,能够使用 RVM 在 Ruby 版本之间轻松切换是毫无意义的,因为每次您想要切换 Ruby 版本时都必须重新配置Passenger。我理解正确吗?

【问题讨论】:

    标签: ruby-on-rails passenger rvm


    【解决方案1】:

    没错,Apache/Passenger 一次只允许使用一个 Ruby 解释器。您可以通过安装多个 Apache 副本来解决此问题,每个副本对应于您最终将部署到的每个 Ruby 版本。然后,您可以在主 Apache 中设置反向代理到在不同端口上运行的所有其他服务器。

    您也可以在应用目录中使用“passenger start”,但这与“rails s”或“./script/server”等具有相同的限制。

    【讨论】:

      【解决方案2】:

      我不这么认为。我想这取决于您需要多久切换一次 Ruby,因为我的大多数项目都使用 REE 1.8.7,所以我发现自己不需要经常切换。至于配置Passenger,交换时需要更新的违规者位于Apache的httpd.conf中 - 您被指示在初始安装时放入的行 - 因为它们引用了您所知道的特定版本路径。

      此外,我发现通过 RVM 安装 Ruby 比正常安装更简单,即使不经常更换也是如此。

      【讨论】:

      • 那么当我使用红宝石时,我可以直接切换 httpd.conf 中的设置,还是需要重新运行乘客安装脚本
      • 我重新运行安装的第二行以获得我最后需要的确切行,然后将其添加到我的 httpd.conf 中,是的。要考虑的另一件事是,Passenger 可以让您轻松地同时运行多个 Rails 站点(无需启动服务器脚本),并且能够跨站点(如果需要)进行处理,这足以让这额外的步骤值得,IMO。这并不是每个人都认可的理想工作流程,但这取决于您正在做什么以及您计划多久切换一次 Ruby 版本。
      【解决方案3】:

      如果您从不想切换 ruby​​ 的版本,那肯定没问题。但实际上,您将更改版本。另外,使用 rvm 的好处远远超过成本(它非常易于使用,因此成本并不高)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-12-28
        • 2013-01-30
        相关资源
        最近更新 更多