2011-11-15 30 views
58

ソースからUbuntu NattyにPHPをインストールしたばかりです。プロンプトなしでPECLモジュールをインストールする

PECLを使用して、APCやMemcacheなどの追加モジュールをインストールしようとしています。私は次のようなものを使用しています:

pecl install apc 

しかし、私は物事を確認するように求められます。

peclコマンドを使用してデフォルトを受け入れる方法を教えてください。私はメッセージボードでこれを見た:printf "yes\n" | pecl install pecl_http。しかし、APCの場合、これはデフォルトが「いいえ」(私が思う)の場合は「はい」と答えます。

ありがとうございます。

+1

@Gordon:私はそれを試みましたが、私が必要とするもののためのハンドルではないようです。 –

+0

デフォルト値が許容される場合、非対話モードでは、PECLプロンプトは必要ありません。たとえば、ビルド時にDockefileの 'RUN pecl install apc'に追加すると、デフォルト値が自動的に選択されます。 – Dereckson

答えて

60

次のコードは正常に動作するようです:

printf "\n" | pecl install apc 

あなたはまた、他のPECLパッケージとAPCを置き換えることができます。

乾杯。

+5

私はまた、 'yes | pecl install memcache' - あなたのソリューションは、デフォルトが「はい」以外のパッケージの方が良いと思われますが、 –

+1

ありがとうございます。これは[CircleCI](https://circleci.com/docs/language-php)でもうまくいきました。 ) –

46

"yes"コマンドは、単に "yes"と入力するだけではありません。それはあなたが何度も何度も何度も好きなものを入力できます。空行を含めると、デフォルトを受け入れるよい方法です。

私はちょうどので、ここで、この自分自身を必要が私のためによく働いたものです:

yes '' | pecl install -f apc 
+0

入力をありがとう、トム。あなたのコードは ''はい\ n ""だったのですか? pecl install -f apc' ?! –

+2

@ ObinwanneHill:Tomは['yes'](http://linux.die.net/man/1/yes)コマンドを指していました。この 'printf'の利点は、出力を繰り返し生成することです.peclインストーラが、あなたのスクリプトの' printf'よりも疑問がある場合には、より移植性が高くなります。 – jmikola

+0

@jmikolaああ、私は、そのコマンドに精通していない参照してください。ありがとう –

2

Obinwanneの丘の答えは私のためにそれを釘付けので、私はここに新しい何かを提供していないんだけど、以下のように思えますどの最善のツールもなく、絶対最短です。

echo '' | pecl install apc 
+1

同じ結果を得るための短い方法は、 'pecl install apc <<<" '' – Guss

関連する問題