rvm ruby​​版本和rails服务器不同的ruby版本

时间:2012-11-05 22:33:07

标签: ruby rvm

似乎rails服务器使用不同的ruby然后是由rvm设置的ruby。

如何使rails server命令使用与rvm中设置相同的ruby?

当我启动rails服务器时,(在控制台中写入rails服务器)它会输出 ruby 1.8.7用于红宝石版本。 但是当我写作

 `ruby -v` 

看到红宝石版本,我得到红宝石版本的红宝石1.9.3p0。 我也安装了rvm,当我输入

rvm list 

它返回我正在使用ruby-1.9.3-p286,因此rvm使用与rails服务器不同的ruby版本。 我需要能够使用ruby-1.9.3启动rails服务器。 首先我安装了ruby 1.8.7,我安装了rvm,所以我可以使用ruby-1.9.3。 但似乎我仍然无法使用它与rails服务器。 感谢

2 个答案:

答案 0 :(得分:1)

当你说" rails server"时,你是如何运行服务器的?是通过Bundler吗?或者通过终端命令?

我相信每个rvm Ruby版本都有自己的Bundler(它使用从rvm指定的正确Ruby版本)。如果您要rvm install ruby-2.x.x,那么您很可能会遇到ERROR: Gem bundler is not installed, run 'gem install bundler' first。运行bundle exec rails console并进入控制台后,您可以运行RUBY_VERSION以查看您正在运行的版本。

如果您只是简单地调用rails server,那么您的PATH可能会搞砸。您可以运行which -a rails以查看计算机搜索可执行文件的目录列表。如果您看到类似/usr/bin/rails的内容,则此rails服务器版本可能使用Ruby的系统版本。我怀疑这可能是rvm Ruby版本和Rails Ruby版本不同的原因。

答案 1 :(得分:0)

在app目录中拥有.rvmrc文件的最简单方法,您可以在其中指定要使用的ruby版本

echo "rvm use 1.9.3" >> .rvmrc