sed: Makefile を読み込めませんでした: そのファイルまたはディレクトリがありません

sed: Makefile を読み込めませんでした: そのファイルまたはディレクトリがありません

行を次に変更しようMakefileとしましたが、sed -i -e 's|$(bindir)\/embossupdate|:|' Makefilesed: can't read Makefile: No such file or directory

FROM ubuntu:16.04
...
# EMBOSS (ftp://emboss.open-bio.org/pub/EMBOSS/)
ENV EMBOSS_VER 6.6.0
RUN apt-get install libhpdf-dev libpng12-dev libgd-dev -y
ADD EMBOSS-${EMBOSS_VER}.tar.gz /usr/local/
WORKDIR /usr/local/EMBOSS-${EMBOSS_VER}
RUN sed -i -e 's|$(bindir)\/embossupdate|:|' Makefile        
RUN ./configure  --enable-64 --with-thread  --without-x
RUN make
RUN ldconfig
RUN make install

sedコマンドで私が間違っているのでしょうか?

ベストアンサー1

Makefileは、スクリプトが実行されるまで生成されませんconfiguresedコマンドをダウンロード後ろに呼ぶconfigure

sed編集が期待どおりに行われることを確認していませんが、主な問題は、おそらくスクリプトのこの時点でMakefileが存在しないことです。

sed -i一般的にGNUとBSDの意味が異なるので、これを避けましょうsed。これがより安全ですsed ... file >tmpfile && mv tmpfile file

おすすめ記事