Redmineプラグイン導入時のエラー

投稿者: | 2016年6月3日

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を入れた場合はプラグイン導入手順を注意する必要があります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です