我安装了多个版本的导轨。但是当我用“rails s”启动服务器时,它总是使用最新的。有没有办法指定应该使用的 rails 版本(以及所有依赖的 gem)?(我将如何在 Pasenger 中指定它?)是的,我可以使用 RVM 或类似的 - 但我想避免这种情况。
提前致谢!
我安装了多个版本的导轨。但是当我用“rails s”启动服务器时,它总是使用最新的。有没有办法指定应该使用的 rails 版本(以及所有依赖的 gem)?(我将如何在 Pasenger 中指定它?)是的,我可以使用 RVM 或类似的 - 但我想避免这种情况。
提前致谢!
你不能用 rails server 命令来做到这一点。每个项目都依赖于 GemFile。但是您可以创建一个 bash 脚本,将自定义指定 GemFile 移动到默认 GemFile,然后启动服务器。
vi /script/rails4_to_rails3
#/bin/bash
mv /opt/web/my_app/GemFile /opt/web/my_app/GemFile.rails4
cp /script/GemFile.rails3 /opt/web/my_app/GemFile
bundle install
rails s
我不是乘客专家,但在我看来这是不可能的。
Phusion 乘客作者在这里。
加载的 Rails 版本不依赖于'rails server',也不依赖于Passenger。RVM 也与此无关。
它只取决于您的 Gemfile.lock,它会锁定项目中的所有 gem 版本。如果你想要一个不同版本的 Rails,你需要修改你的 Gemfile 来指定那个确切的版本,然后运行bundle install
更新 Gemfile.lock。