Jekyll のバージョンを 2.0.3 に上げた際に、突然ビルドするできることができなくなってしまいました。その解決方法に関して記事です。
1 | jekyll 2.0.3 | Error: undefined method `deep_merge' for #<Hash:0x007fd2644089c0> |
のようにエラーが出てビルドすることができなくなってしまいました。–trace すると、
1 | monthly_archive_plugin.rb:121:in `to_liquid': undefined method `deep_merge' for #<Hash:0x007f9303cf8490> (NoMethodError) |
自作のアーカイブを作成するプラグインの中にある deep_merge というメソッドが原因のようです。v2 以降(?)では、動かなくなってしまったので、deep_merge を単に、merge と変更すれば動くようになります。
例えば、
1 2 3 4 5 6 | def to_liquid(attr = nil) self.data.deep_merge({ 'content' => self.content, 'year' => @year }) end |
といったコードを、
1 2 3 4 5 6 | def to_liquid(attr = nil) self.data.merge({ 'content' => self.content, 'year' => @year }) end |
こんな感じです。