似乎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服务器。 感谢
答案 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