2011-11-01 43 views
4

我一直在使用与RVM以下命令升级红宝石:升级到1.9.3红宝石与RVM打破我的Rails应用程序

rvm get head 
rvm install 1.9.3 
rvm reload 
rvm use 1.9.3 --default 

现在,当我运行轨道的I收到以下错误信息:

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:827:in `report_activate_error': Could not find RubyGem rails (>= 0) (Gem::LoadError) 
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:261:in `activate' 
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:68:in `gem' 
from /usr/bin/rails:18 

如果我运行哪个ruby,gem环境和ruby -v,我会得到一致的输出。任何人都可以帮助我理解我的应用程序出了什么问题吗?

回答

2

您是否尝试过运行gem install rails

将RVM与红宝石一起使用意味着您可以在您的PATH(包括rails二进制文件)中为未安装的宝石包含二进制文件。

这就是你的错误的样子。

我希望一个bundle installgem install rails将解决您的问题。

+0

我跑了创业板安装导轨,然后捆绑安装,但现在当我运行的轨道是我的命令行得到一个错误,说我的用户模型中有一个语法错误,之前没有(这是说,在我的模型的末尾有一个意外的关键字结束,这对我来说没有意义),我不知道是否存在与设计的冲突,或者我只是疯了。 – tomciopp

+1

我认为这是一个不同的问题。如果这是一个“意外结束”错误,它应该在回溯显示的文件中。如果它在1.9.2中工作,我想不出任何语法更改。尝试在2之间交换,并验证你没有意外添加语法错误。 –

+0

如何在两者之间进行交换? – tomciopp

1

你应该能够让您的应用再次运行只需运行:

$ bundle 

要安装的Gemfile依赖。然后,你应该运行带有滑轨服务器:

$ bundle exec rails s 

它,以确保命令是从正确的轨道宝石为您的应用程序运行的轨道使用bundle exec是很重要的。

如果你想在这个耶胡达·卡茨的详细信息都有详细的博客文章: http://yehudakatz.com/2011/05/30/gem-versioning-and-bundler-doing-it-right/