💿
embulkインストール時にエラー発生 - Syntax error: newline unexpected(DL URL失効)
Dockerでembulkを日常的に使ってるんですが2025年3月25日に
embulkの実行ファイルをcurlでダウンロードして実行しようとするとsyntax errorが発生する様になりました。
なので原因を調査。
結論から述べるとダウンロードURLが失効してました。
1.エラーになるようになったコード
エラー発生はダウンロードからembulkの実行までで発生します。
# Embulkをダウンロードして実行可能にする
RUN curl --create-dirs -o ./embulk -L "https://dl.embulk.org/embulk-0.11.4.jar" && \
chmod +x ./embulk
# install Ruby gems
COPY ./embulk.properties /root/.embulk/embulk.properties
RUN ./embulk gem install embulk -v 0.11.4 # Embulk と同じバージョンを指定
2. 原因
ダウンロード元に指定してたurlが使えなくなったのが原因でした。
リダイレクトもストップしてgithubに完全移行したそうです。
使えなくなったサイト dl.embulk.org↓
これからも使えるgithubのサイト↓
3. 解決方法
ダウンロードのurlを変更するだけ。
versionは使いたいものに置き換えてください。
# Before
RUN curl --create-dirs -o ./embulk -L "https://dl.embulk.org/embulk-0.11.4.jar"
# After
RUN curl --create-dirs -o ./embulk -L "https://github.com/embulk/embulk/releases/download/v0.11.4/embulk-0.11.4.jar"
これでdocker buildするとうまくいく。
Discussion
記事ありがとうございます。
助かりました。