Zenn
💿

embulkインストール時にエラー発生 - Syntax error: newline unexpected(DL URL失効)

2025/03/26に公開
1

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↓

https://www.embulk.org/articles/2024/07/10/sunsetting-dl-embulk-org.html

これからも使えるgithubのサイト↓

https://github.com/embulk/embulk/releases

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

tfunatotfunato

記事ありがとうございます。
助かりました。

ログインするとコメントできます