🌊

Macで「embulk --version」がエラーになる原因と対策

2023/10/08に公開

課題

Macでembulk --versionがエラーになる原因と解決方法

エラー内容

% embulk --version

================================== [ NOTICE ] ==================================
 Embulk will not be executable as a single command, such as 'embulk run'.
 It will happen at some point in v0.11.*.

 Get ready for the removal by running Embulk with your own 'java' command line.
 Running Embulk with your own 'java' command line has already been available.

 For instance in Java 1.8 :
  java -XX:+AggressiveOpts -XX:+UseConcMarkSweepGC -jar embulk-X.Y.Z.jar run ...
  java -XX:+AggressiveOpts -XX:+TieredCompilation -XX:TieredStopAtLevel=1 -Xverify:none -jar embulk-X.Y.Z.jar guess ...

 See https://github.com/embulk/embulk/issues/1496 for the details.
================================================================================

[ERROR] The Java version is not recognized by the self-executable single 'embulk' command.
[ERROR]   openjdk full version "17.0.8.1+1"
[ERROR]
[ERROR] Build your own 'java' command line instead of running Embulk as a single command.
[ERROR]
[ERROR] See https://github.com/embulk/embulk/issues/1496 for the details.

Javaのバージョン

% java --version                                 
openjdk 17.0.8.1 2023-08-24
OpenJDK Runtime Environment Temurin-17.0.8.1+1 (build 17.0.8.1+1)
OpenJDK 64-Bit Server VM Temurin-17.0.8.1+1 (build 17.0.8.1+1, mixed mode, sharing)

エラーの原因

  • 今のJavaのバージョンは、自己実行可能な単一の 'embulk' コマンドでは認識されないから
  • そのため、Embulkを単一のコマンドとして実行するのではなく、独自の「java」コマンドラインを構築する。

解決方法

  1. 公式のトップページを開いて安定版に遷移する
    https://www.embulk.org/

  1. embulk-x.xx.x.jarをダウンロードする

  1. ダウンロードしたファイルを任意のディレクトリにおく
% ls ~/.embulk                      
embulk-0.11.0.jar
  1. java -jar [ダウンロードしたファイルのパス] --versionを実行する
% java -jar ~/.embulk/embulk-0.11.0.jar --version

Embulk 0.11.0
~略~

参考文献

https://github.com/embulk/embulk/issues/1496

Discussion