Rails程序迁移时遇到的问题

来源:互联网 发布:淘宝查号kehuda 编辑:程序博客网 时间:2024/05/02 06:13

今天把程序从一个机器拿到另外一个机器上时,在执行rake db:migrate时,出现了以下问题:

Missing the Rails 2.0.2 gem. Please `gem install -v=2.0.2 rails`, update your RAILS_GEM_VERSION setting in config/environment.rb for the Rails version you do have installed, or comment out RAILS_GEM_VERSION to use the latest version installed.

很显然是版本不兼容的问题。想起来前几天运行例子时,就出现过类似问题,但是当时提示版本是2.1.2,于是就按照提示升级了rails。这次又碰上了,那就用老办法解决,运行命令:

gem install -v=2.0.2 rails

更悲惨的结果出现了,给出了下面的提示信息:

/usr/bin/gem:10:Warning: Gem::manage_gems is deprecated and will be removed on or after March 2009.
/usr/bin/gem:23: uninitialized constant Gem::GemRunner (NameError)

gem不能运行了。于是Google一番,发现都是老外的信息,其中有人写到,运行如下命令:

apt-get remove ruby*

apt-get clean

apt-get instal ruby rubygems

可是在执行过上面的命令后,依然如故,gem命令仍然不能运行。

 

最后正解如下:

编辑/usr/bin/gem文件,在其中新增加一行:

require 'rubygems/gem_runner'

然后注释掉接下来的一行:

Gem.manage_gems --> #Gem.manage_gems

运行顺利通过。

 

于是重新运行

gem install -v=2.0.2 rails

程序顺利启动。

 

在最初的提示中有“注释掉RAILS_GEM_VERSION,从而使用最新版本的rails”,但是我在environment.rb中,加上注释后,并不能解决问题。原因可能是,rails不是通过gem安装,缺少了一些必要的依赖。

原创粉丝点击