我有一个rails应用程序在客运/阿帕奇2.2.3 / RHEL上运行。 一切工作正常,直到我不得不重新启动Apache。 一旦我这样做,我收到以下消息:
缺lessRails 2.3.4gem。 请gem install -v=2.3.4 rails ,在config / environment.rb中更新您安装的Rails版本的RAILS_GEM_VERSION设置,或者注释掉RAILS_GEM_VERSION以使用安装的最新版本。
我不知道该怎么做,因为应用程序之前运行良好。 我确实touch restart.txt ,尝试重新启动它,再次从Capistrano部署,并删除/再次安装rails gem,但没有任何工作。 rails -v打印Rails 2.3.4。
我前一阵子解决了这个问题,用命令/etc/init.d/httpd restart而不是service httpd restart来重新启动apache。 不知道为什么工作,但它确实。 没有一个environment.rb的变化做了什么。
我遇到了类似的问题….这是我如何解决它…
首先通过在terminal中运行“gem environment”来检查当前的gem环境。
例如,我find了GEM PATHS
/usr/local/lib/ruby/gems/1.8/home/anatoly/.gem/ruby/1.8
我真的用sudo安装所有的gem,所以我只关心第一个。
接下来,将其添加到您的path。
我在Ubuntu 9.10上,所以意思是说:sudo gedit〜/ .bashrc
在我添加的文件的底部:export PATH = / usr / local / lib / ruby / gems / 1.8:$ PATH
在rails应用程序的config / environment.rb文件中)。我在顶部添加了这个:ENV ['GEM_PATH'] =“/usr/local/lib/ruby/gems/1.8:#{ENV['GEM_PATH'] }”
保存,注销,重新login。横过你的手指。
这听起来像Rails应用程序是用以前的版本或新版本的轨道build成的。 为了解决这个问题,你需要cd到应用程序的最顶层父项(app,config和其他目录的父项),然后运行:
rake rails:update
和/或更新config / environment.rb到正确的版本。
RAILS_GEM_VERSION = '2.3.4′ unless defined? RAILS_GEM_VERSION
也就是说,如果你从某个地方得到应用程序,运行上述可能无法正常工作。 回到应用程序构build的机器上,更新导轨以及该机器上的应用程序。