您的位置:首页 > 大数据 > 人工智能

Rails程序迁移时遇到的问题

2009-01-16 10:46 274 查看
今天把程序从一个机器拿到另外一个机器上时,在执行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安装,缺少了一些必要的依赖。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: