ruby-on-rails – Rails没有使用我的全局Ruby版本

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Rails没有使用我的全局Ruby版本前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在 Ruby 2.1.0中使用Rails,但它使用的是Ruby 1.9.3(系统版本).

我正在使用rbenv来管理我的Ruby版本.我的步骤是:

$rbenv install 2.1.0
$rbenv global 2.1.0
$sudo gem install rails -v 4.0.2
$rbenv rehash
$rbenv versions
  system
* 2.1.0 (set by /home/dennis/.rbenv/version)
$ruby -v
ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-linux]
$rails new app && cd app
$rails server

根据localhost:3000 / rails / info / properties,Rails使用的是Ruby 1.9.3(x86_64-linux).来自rails服务器的日志消息给出:INFO ruby​​ 1.9.3(2012-04-20)[x86_64-linux].

我认为Rails使用的是Ruby的系统版本,因为版本匹配.

$rbenv local system
$ruby -v
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]
$rbenv local --unset  # Unset local Ruby version,go back to 2.1.0

有些事情我试过没有运气:

>使用rbenv将Ruby的本地和shell版本设置为2.1.0
> rehash rbenv shims(rbenv说在安装可执行文件后执行此操作)
>切换到2.1.0之后制作了新的Rails项目,以防我在使用1.9.3时制作项目
>将2.1.0放在项目根目录中的.ruby-version文件中(由@Agis建议)
>重启终端会话并启动登录bash shell(由@Russel建议)
>在项目的Gemfile中指定所需的Ruby版本(由@ rlecaro2建议)

FWIW,我正在使用带有鱼壳的Ubuntu 13.10.

解决方法

您没有告诉您如何安装rbenv,但我认为这是每用户安装(默认情况下).在这种情况下,您应该在不使用sudo的情况下安装gem.当你做了sudo gem install rails时,它安装在系统ruby中,而不是rbenv的选择.

解决方案 – 安装没有sudo的rails:

rbenv global 2.1.0
gem install rails
rbenv rehash

猜你在找的Ruby相关文章