web-dev-qa-db-ja.com

CP:ターゲットはディレクトリではありません

次の行を含むbashスクリプトがあります。

cp -R /usr/lib/gcc/x86_64-linux-gnu/$GCC_VERSION/* /app/.apt/usr/lib/gcc/x86_64-linux-gnu/$GCC_VERSION

完全なスクリプト: https://github.com/virtualstaticvoid/heroku-buildpack-r/blob/cedar-14/bin/compile

残念ながらcp: target ‘/app/.apt/usr/lib/gcc/x86_64-linux-gnu/4.8’ is not a directoryで失敗します

どのようなヒントが間違っている可能性がありますか?残念ながらbashの経験はあまりありません。

以前は、このスクリプトは単独で実行され、機能していました。今、その前にapt-get installを追加する必要があり、失敗し始めたので、修正を試みています。

6
Archeg

4.8という名前のディレクトリはありません...それはあなたの問題です:)

Cpコマンドの前にこれを実行します。

mkdir -p /app/.apt/usr/lib/gcc/x86_64-linux-gnu/$GCC_VERSION

指定されたパスにすべてのディレクトリを作成します!

9
Joda

これは機能するはずです。cpコマンドの最後に/を追加して、dirであることを明確にします。

mkdir -p /app/.apt
cp -R $BUILD_DIR/.apt/* /app/.apt/
3
Drako