我最近从Ruby 1.9.3升级到2.0.0版。为此,我使用了以下命令:
$ rvm install ruby-2.0.0
$ rvm --default use ruby-2.0.0
成功安装并设置为默认的ruby-2.0.0;但是,当我输入ruby -v
时,我遇到了错误:
Rails is not currently installed on this system. To get the latest version, simply type:
$ sudo gem install rails
You can then rerun your "rails" command.
我知道Rails已安装,在升级我的Ruby版本之前,我运行了rails -v,它返回了我当前的版本。
尝试排查
我按照an earlier post上找到的解决方案运行了以下命令:
gemsets for ruby-1.9.3-p374 (found in /Users/.../.rvm/gems/ruby-1.9.3-p374)
(default)
=> global
rails3tutorial2ndEd
/etc/rvmrc: line 5: install:: command not found
/etc/rvmrc: line 6: update:: command not found
gemsets for ruby-2.0.0-rc1 (found in /Users/.../.rvm/gems/ruby-2.0.0-rc1)
(default)
=> global
rvm use ruby-2.0.0-rc1@global
但是,再次运行rails -v
表示问题仍然存在。
非常感谢任何帮助!
更新
急躁导致我只是重新安装Rails来修复问题。但是,我仍然很好奇是否有更好的方法可以在没有(可能是不必要的)重新安装Rails的情况下进行故障排除。
答案 0 :(得分:2)
RVM中的Gemsets是孤立的,因为它们仅适用于单个版本的Ruby。因此,您需要在安装新版本的Ruby之后重新安装Rails gem。
当通过RVM安装Ruby版本时,将同时创建2个关联的gemsets。一个称为“全局”,一个称为“默认”。
Ruby版本(及其单个关联的全局gemset)通过rvm use ruby_version_here
命令激活。
默认或(可能多个)用户生成的gemsets通过rvm use gemset_name_here
命令激活。
gemset是全局的,默认的还是用户生成的 - 它只适用于单个版本的Ruby。
这是一个nice blog post,更详细地介绍了这个主题。