Ruby on rails 我想开始使用Rails 3和Ruby 1.9,但我怎么还能运行Rails 2应用程序呢?

Ruby on rails 我想开始使用Rails 3和Ruby 1.9,但我怎么还能运行Rails 2应用程序呢?,ruby-on-rails,ruby,ruby-on-rails-3,passenger,Ruby On Rails,Ruby,Ruby On Rails 3,Passenger,我有一些Rails 2应用程序。我想开始使用Rails 3和Ruby 1.9来开发新的应用程序 我将Passenger和Apache与REE(Ruby 1.8.7)一起使用。我不提供任何服务——我在系统级安装gems,并在environment.rb中为每个应用指定版本 如果理解正确,问题不在于Rails和其他gem版本(因为每个应用程序都可以在environment.rb中指定自己的版本),而在于我的Rails 2应用程序及其gem是否在Ruby 1.9下运行 我有这个权利吗 从谷歌搜索的结果

我有一些Rails 2应用程序。我想开始使用Rails 3和Ruby 1.9来开发新的应用程序

我将Passenger和Apache与REE(Ruby 1.8.7)一起使用。我不提供任何服务——我在系统级安装gems,并在
environment.rb
中为每个应用指定版本

如果理解正确,问题不在于Rails和其他gem版本(因为每个应用程序都可以在
environment.rb
中指定自己的版本),而在于我的Rails 2应用程序及其gem是否在Ruby 1.9下运行

我有这个权利吗

从谷歌搜索的结果来看,像Searchlogic和Ruby 1.9这样的Gem可能确实存在问题

如果是,建议的解决方案是什么


我已经研究过RVM,它在测试、实验和开发方面看起来非常棒。但它看起来不像是设计来帮助生产设置的

据我所知,当您安装Passenger时,您需要根据Ruby的一个特定版本编译它。Ruby可以在RVM下使用没有问题,但是乘客不能在不同的应用程序中使用不同的Ruby。

查看RVM(Ruby版本管理器)。您可以在同一个框中管理多个ruby版本,并为每个版本管理多个Gemset

此外,Bundler允许项目维护自己的gems库(至少对我来说,不需要使用RVM gems)

请查看Phusion的Hongli Lai的以下链接,该链接解释了如何通过使用Passenger standalone和reverse proxy同时在多个版本的Ruby上设置Passenger


谢谢,我已签出RVM。问题是,我不认为ca可以帮助我在一个实例下运行不同的Ruby版本。据我所知,您可以针对一个特定的Ruby版本编译Passenger。您可以针对多个版本安装Passenger。看看这个。这似乎不是最简单的解决方案(在其他ruby版本上反向代理给乘客),但这是可以做到的。创建rvm的家伙也有bdsm我猜使用它你可以并排运行2名乘客,不确定乘客是否有扩展?再次感谢。我感谢你的帮助。是的,你是对的——看起来有一种方法在某些情况下可能有效。很抱歉,我不愿意走这条路。我被人们博客帖子中微妙而专业的设置深深地折磨了。由于这是针对一个客户的,而且时间很短,我倾向于使用经过可靠验证和建立的解决方案,即使这意味着唯一的选择就是坚持使用Ruby 1.8.7和Rails 2。为了记录在案,这篇文章来自Phusion(乘客的作者)博客,似乎是他们推荐的解决方案,所以它可能相当坚固。但是,是的,如果你有适合自己的东西,而且没有太多时间去试验,那么最好还是坚持你所知道的有效方法:-)我不确定你正在部署的应用程序的性质,但是你不能把它们放在Heroku上吗?他们较旧的堆栈支持1.8.7.0版本的个人项目,这可能是一个选项,但不适用于这些应用程序。