解決脫離rails使用activerecord報錯 NameError: uninitialized constant ActiveRecord::Migrator::Zlib

c3tc3tc3t發表於2016-07-21

上下文說明

  原本系統是15.10,無奈只支援1年,所以今天升級16.04,環境答好後執行rake migratte報錯

1 task :default => :migrate
2 
3 desc 'Run migrations'
4 task :migrate do
5 
6   ActiveRecord::Migrator.migrate('db/migrate', ENV['VERSION'] ? ENV['VERSION'].to_i : nil)
7 end

 

    NameError: uninitialized constant ActiveRecord::Migrator::Zlib

 

當時一臉蒙逼,原來程式碼一點沒動,為何出現這個

檢查一下 activerecord用的還是4.2.6版本。沒什麼問題

看提示是說沒初始化某些常量,可是我以前執行好好地。於是進入到 ActiveRecord::Migrator::Zlib 這個模組裡看,

裡面有很多變數,其中看到simple:哪裡需要  require 'zlib' ,所以在我程式碼出也加上這個

1 require 'zlib'
2 
3 task :default => :migrate
4 
5 desc 'Run migrations'
6 task :migrate do
7 8   ActiveRecord::Migrator.migrate('db/migrate', ENV['VERSION'] ? ENV['VERSION'].to_i : nil)
9 end

終端執行 rake migrate 解決,以後在詳細研究

相關文章