📝
embulk 0.9.XをBundlerで利用している人は、Gemfileでembulk.gemのバージョンを指定しよう
本文書について
embulk 0.9.XをBundlerで利用している(embulk
のプラグイン管理にGemfile
を使っている人)への案内です。
要約
embulk 実行時に以下のようなメッセージが出力されたら、Gemfile
を確認して修正をしましょう。
エラーメッセージ(0.10.26以降)
*******************************************************************************************
Running Embulk version (0.9.23) does not match the installed embulk.gem version (0.10.26).
If you use Embulk v0.9.* without Bundler:
Uninstall embulk.gem from your Gem path.
An embulk.gem-equivalent should be embedded in your Embulk's core JAR of v0.9.*.
If you use Embulk v0.9.* with Bundler:
Try updating your Gemfile as below:
gem 'embulk', '< 0.10'
Bundler will find the embulk.gem-equivalent embedded in your Embulk's core JAR of v0.9.*.
If you use Embulk v0.10.*:
Be aware that v0.10.* is an unstable development series. If you are aware of that,
upgrade it to the latest v0.10.*, and use exactly the same version of embulk.gem.
In case you use Bundler, your Gemfile should have 'embulk' as below:
gem 'embulk', '0.10.XX' # Exactly the same version of your Embulk's core JAR.
If you use Embulk v0.8.* or earlier:
Update to the latest v0.9.*. v0.8 or earlier are deprecated.
*******************************************************************************************
エラーメッセージ(0.10.25まで)
*******************************************************************************************
Running Embulk version (0.9.23) does not match the installed embulk.gem version (0.10.25).
If you use Embulk v0.9.* or v0.10.[0-23] without Bundler:
Uninstall embulk.gem from your GEM_HOME/GEM_PATH.
An embulk.gem equivalent should be embedded in your Embulk's core JAR.
If you use Embulk v0.9.* or v0.10.[0-23] with Bundler:
Try updating your Gemfile as below:
gem 'embulk', '< 0.10'
Bundler will find the embulk.gem equivalent embedded in your Embulk's core JAR.
If you use Embulk v0.10.25 or later:
Use exactly the same version of embulk.gem.
In case you use Bundler, your Gemfile should declare like:
gem 'embulk', '0.9.23'
If you use Embulk v0.10.24:
Update to v0.10.25 or later.
If you use Embulk v0.8.* or earlier:
Update to the latest v0.9.*. v0.8 or earlier are deprecated.
*******************************************************************************************
変更前
gem 'embulk'
変更後
gem 'embulk', '< 0.10'
2021年1月19日以降(embulk 0.10.24から)、
現在開発中のembulk 0.10.X(開発版)で、embulkのgemがまた提供されるようになりました。
しかし中身は別物で、使い方も別物です。このgemには今まで本体に組み込まれていた、本体とのつなぎになるRubyコードのみが入っています。
Gemfileにバージョンを指定してない場合、最新版のembulk.gemがインストールされ不具合がでてしまうことが懸念されます。上記のエラーメッセージはそれを防止するためのものです。
0.10.25以降のembulk.gemでは、実行中のembulk本体とgemのバージョンを比較してバージョンが不一致だった場合、警告を出しプログラムが終了します。
こちらを回避する方法が上記で記載した'< 0.10'
という表記です。
利用するgemは0.10
より前のバージョンを利用するという意味です。
embulk bundle
コマンドにはgem "embulk"
にバージョンを指定するようなオプションは提供されていません。sed
等のツールを使って適宜書き換えを行ってください(追記: 2021/2/15)
Discussion