5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

embulk の隠しコマンド embulk irb と embulk exec

Last updated at Posted at 2017-10-04

embulk のプラグイン等のデバッグをしていて、 embulk 環境の JRuby 特有の条件や性質にぶち当たることがある。
そういう場合に、 embulk の世界でインタラクティブにデバッグできたら便利だな、と考えていた。

探してみた所、どうやらそのような隠しコマンドが存在するようだ。

勝手に隠しコマンドと呼んでみたものの、実はどこかに記述されているのかもしれない。
少なくとも 2017 年 10 月 4 日現在、 Web ドキュメントREADMEembulk --help には見つけられなかった。

この記事で解説してみる (誤った理解があるかもしれない)

embulk irb

jirb (JRuby の IRB ) に入る事ができる (インタラクティブシェルや REPL の類)

あとはいつも通り。たとえば

$ embulk irb
2017-10-04 23:49:33.706 +0900: Embulk v0.8.30
irb(main):001:0> p 'yay'
"yay"
=> "yay"
irb(main):004:0> 3.times {|i| print(i)}
012=> 3

当然、プラグインを require して使うこともできる。デバッグが捗る。

embulk exec

embulk execbundle exec のように embulk 環境でシェルコマンドを実行できる。

たとえば、環境変数を表示できるコマンドである env を実行すると

$ embulk exec env
GEM_HOME=...
JAVA_MAIN_CLASS_12912=...
RUBY=...
JAVA_ARCH=x86_64
GEM_PATH=
.
.
.

など、環境変数が得られる。

embulk gem でインストールしたパッケージに付属するコマンドも実行できるようになる。

2017 年 10 月 5 日 追記:

どうやら廃止される可能性があるらしい。 (hiroysato さんから教えていただきました。ありがとうございます。)

まだ見つけたばかりだし un-JRuby-ing the boot process と呼んでいる改善によって JRuby のデバッグしにくさが発展的に解消されるのであれば、 embulk irbembulk exec が使えなくても平気かなぁ?

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?