ruby-on-rails 可以在一台服务器上运行不同ruby版本的rails应用程序

mbyulnm0  于 2023-02-26  发布在  Ruby
关注(0)|答案(2)|浏览(169)

我有一个安装了rvm的服务器。我有一些Rails应用程序在服务器上运行,这些应用程序的ruby版本是2.6.5。我想在这个服务器上部署一些新的Rails应用程序。关键是这些新应用程序的ruby版本是3.1.2。我可以在我的服务器上安装ruby版本3.1.2,但我的问题是:在一台服务器上运行一些带有一个ruby版本的Rails应用程序和一些带有不同ruby版本的Rails应用程序是可能的吗?我知道在一个ruby版本上运行不同的Rails版本是可能的,但是我不确定是否可以在一台服务器上同时运行两个不同的ruby版本和相关的应用程序。

wbgh16ku

wbgh16ku1#

是的,我使用RVM(系统范围)来运行多个使用不同Ruby和Rails版本的Rails应用程序。

应用程序设置

创建宝石集:$ rvm use 2.7.2-rg316@arsgh --create
创建. ruby版本文件:$ echo 2.7.2-rg316 > .ruby-version
创建.ruby-gemset文件:$ echo arsgh_rls5 > .ruby-gemset
将Rails版本安装到gemset:$ gem install rails -v 5.2.6.3
创建新的Rails应用程序:$ rails new arsgh --database=mysql
将.ruby-version和.ruby-gemset文件复制到应用程序根目录。

Apache的httpd.conf文件并使用Phusion Passenger

确保指向宝石:PassengerRuby /usr/local/rvm/gems/ruby-2.7.2-rg316@arsgh/wrappers/ruby

m4pnthwp

m4pnthwp2#

bin/rails中,我们有这样的注解:

#!/usr/bin/env ruby

它声明了将使用哪个ruby可执行文件。所以你可以在这里指向不同的ruby版本。bin文件夹中的一些其他文件可以像这样修改。
但是我建议使用Docker来避免维护这样的环境的问题,有一些很好的例子,比如one

相关问题