0

Rkt コンテナーで単純な Ruby アプリを作成しようとしていますが、ビルド スクリプトは次のようなバリエーションを提供し続けます。

Warning: "/bin/sh" is a symlink, which systemd-nspawn version 219 might error on
Directory /too/long/for/so/.acbuild/target lacks the binary to execute or doesn't 
    look like a binary tree. Refusing.
run: non-zero exit code: 1
Ending the build

誰かがこれを回避する通常の方法を教えてもらえますか?

ここに私のビルドスクリプトがあります:

#!/usr/bin/env bash
set -e

acbuildend () {
    export EXIT=$?;
    acbuild --debug end && exit $EXIT;
}
acbuild --debug begin
trap acbuildend EXIT

rm -f sputnik2.aci

acbuild set-name jhallpr.com/sputnik

acbuild dependency add quay.io/coreos/alpine-sh
acbuild run -- apk update
acbuild run -- apk add ruby ruby-io-console

acbuild copy-to-dir ./sputnik2 /usr/src/app/sputnik2
acbuild set-working-directory /usr/src/app/sputnik2

acbuild run -- gem install bundler --no-doc --no-ri
acbuild run -- /bin/sh -c "bundle install"     # <-- *falls over here*

acbuild set-exec -- /usr/bin/ruby sputnik2.rb
acbuild write sputnik2.aci

acbuild run -- /bin/sh -c...root として実行すると bundler が文句を言うので、ここ ( ) で砲撃していることに注意してください。しかし、シンボリックリンクの問題は非常に一般的な問題のようです。たとえば、を介してバンドラーをインストールすると、スクリプトはそれがシンボリックリンクであるとacbuild run -- apk add不平を言います...bundle

4

1 に答える 1