Redmineのプラグインである「SCM Creator」を導入したときに発生したエラーとその解決方法です。
「SCM Creator」を導入する際にプラグイン用のデータベースを次のコマンドでマイグレートしました。
$ rake redmine:plugins:migrate RAILS_ENV=production
すると下記のようなエラーが発生しました。
Gem::LoadError: You have already activated rake 10.4.2, but your Gemfile requires rake 11.1.2. Prepending `bundle exec` to your command may solve this. rake, version 10.4.2
エラーを見る限り、インストールされているrakeは10.4.2だがGemfileで定義しているrakeは11.1.2とのことです。
実際に「gem list」でrakeのバージョンを確認したところ10.4.2でした。
これを解決するためにエラーに記述された通り、「bundle exec」を追加して次のように実行しました。
$ bundle exec rake redmine:plugins:migrate RAILS_ENV=production
上記のエラーは発生しなくなりました。
次に下記のようなエラーが発生しました。
NameError: uninitialized constant ActiveRecord::Observe
「Observer」が存在しないというエラーです。
調べたところ新しいRailsのバージョンだとデフォルトで「Observer」のライブラリがないようです。
これを解決するためにRedmine直下にあるGemfileを修正しました。
gem "rails-observers"
上記の記述を追加して再びrakeコマンドを実行したところ正常に終了しました。
Redmineのプラグインは新しいRubyに対応していないものが多くあるようです。
最新のRubyやRailsでRedmineを入れた場合はプラグイン導入手順を注意する必要があります。