耙子流产了! NameError:使用rake db:migrate时未初始化的常量ActiveRecord :: VERSION错误

问题描述 投票:0回答:3

我是铁杆上的红宝石新手。我想在我的本地系统上重新创建一个生产设置用于开发目的。我似乎在迁移数据库时遇到了问题。

我正在使用Ubuntu 18.04操作系统。我已经成功安装了mysql-server,ruby 2.3.2,rails 5.0,libmysqld-dev和mysql2 gem。我能够创建一个数据库并导入SQL文件以创建表。要执行挂起的迁移,我执行了rake db:migrate。我收到以下错误。

rake aborted!NameError: uninitialized constant ActiveRecord::VERSION
/home/raj/.rvm/gems/ruby-2.3.2/gems/activerecord-session_store-1.1.1/lib/action_dispatch/session/active_record_store.rb:151:in `<top (required)>'
/home/raj/.rvm/gems/ruby-2.3.2/gems/activerecord-session_store-1.1.1/lib/active_record/session_store.rb:2:in `require'
/home/raj/.rvm/gems/ruby-2.3.2/gems/activerecord-session_store-1.1.1/lib/active_record/session_store.rb:2:in `<top (required)>'
/home/raj/.rvm/gems/ruby-2.3.2/gems/activerecord-session_store-1.1.1/lib/activerecord/session_store.rb:1:in `require'
/home/raj/.rvm/gems/ruby-2.3.2/gems/activerecord-session_store-1.1.1/lib/activerecord/session_store.rb:1:in `<top (required)>'
/home/raj/IRIS/config/application.rb:7:in `<top (required)>'
/home/raj/IRIS/Rakefile:4:in `require'
/home/raj/IRIS/Rakefile:4:in `<top (required)>'
/home/raj/.rvm/gems/ruby-2.3.2/gems/rake-12.0.0/exe/rake:27:in `<top (required)>'
/home/raj/.rvm/gems/ruby-2.3.2/bin/ruby_executable_hooks:24:in `eval'
/home/raj/.rvm/gems/ruby-2.3.2/bin/ruby_executable_hooks:24:in `<main>'
 LoadError: cannot load such file -- activerecord-session_store
/home/raj/IRIS/config/application.rb:7:in `<top (required)>'
/home/raj/IRIS/Rakefile:4:in `require'
/home/raj/IRIS/Rakefile:4:in `<top (required)>'
/home/raj/.rvm/gems/ruby-2.3.2/gems/rake-12.0.0/exe/rake:27:in `<top (required)>'
/home/raj/.rvm/gems/ruby-2.3.2/bin/ruby_executable_hooks:24:in `eval'
/home/raj/.rvm/gems/ruby-2.3.2/bin/ruby_executable_hooks:24:in `<main>'
(See full trace by running task with --trace)

关于active_record_store.rb第151行中的错误,代码如下:

if ActiveRecord::VERSION::MAJOR == 4
    require 'action_dispatch/session/legacy_support'
    ActionDispatch::Session::ActiveRecordStore.send(:include, ActionDispatch::Session::LegacySupport)
end
ruby-on-rails ruby rake
3个回答
0
投票

尝试运行下面提到的命令

gem install activerecord

希望这可以帮助。


0
投票

你可以把它添加到active_record_store.rb的顶部,看它是否有效?

require 'active_record/version'

0
投票

在RVM安装期间,还以某种方式安装了最新版本。删除所有的宝石和做bundle install工作。

© www.soinside.com 2019 - 2024. All rights reserved.