0

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

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

当我启动 rails 服务器时,(在控制台中写入 rails 服务器)它输出 ruby​​ 1.8.7 的 ruby​​ 版本。但是当我写

 `ruby -v` 

要查看 ruby​​ 版本,我得到 ruby​​ 1.9.3p0 的 ruby​​ 版本。我也安装了 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 服务器一起使用。谢谢

4

2 回答 2

1

当您说“rails 服务器”时,您是如何运行服务器的?是通过捆绑器吗?还是通过终端命令?

我相信每个rvmRuby 版本都有自己的 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 的系统版本。我怀疑这可能是rvmRuby 版本和 Rails Ruby 版本不同的原因。

于 2018-04-03T01:59:16.530 回答
0

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

echo "rvm use 1.9.3" >> .rvmrc
于 2012-11-05T22:56:29.173 回答