2011-11-15 19 views
58

Acabo de instalar PHP en Ubuntu Natty desde la fuente.Instalar módulos PECL sin las indicaciones

Estoy tratando de usar PECL para instalar módulos adicionales como APC y Memcache. Estoy usando algo como esto:

pecl install apc 

Sin embargo, me pide ayuda para confirmar las cosas.

¿Cómo puedo usar el comando pecl para aceptar los valores predeterminados? Vi algo como esto en un tablero de mensajes: printf "yes\n" | pecl install pecl_http. Sin embargo, en el caso de APC esto respondería sí para las cosas donde el valor predeterminado es no (creo).

Gracias de antemano.

+1

@Gordon: Lo intenté, pero no parece que haya un mango para lo que necesito. –

+0

Para el caso en que los valores predeterminados son aceptables, en modo no interactivo, no se requiere el aviso PECL. Por ejemplo, si agrega a Dockefile 'RUN pecl install apc', en tiempo de compilación, obtendrá los valores predeterminados seleccionados automáticamente. – Dereckson

Respuesta

60

El siguiente código parece funcionar bien:

printf "\n" | pecl install apc 

También puede reemplazar APC con cualquier otro paquete PECL.

Saludos.

+5

También estoy viendo el éxito con 'yes | pecl install memcache' - aunque supongo que su solución funciona mejor para los paquetes donde el valor predeterminado es algo distinto de "sí" –

+1

Gracias amigo, esto incluso funcionó con [CircleCI] (https://circleci.com/docs/language-php) –

46

El comando "sí" puede hacer más que solo escribir "sí"; puede escribir lo que quieras, una y otra vez. Incluyendo una línea vacía, que es una buena manera de aceptar valores predeterminados.

sólo necesitaba esto por mí mismo, por lo que aquí es lo que ha funcionado bien para mí:

yes '' | pecl install -f apc 
+0

Gracias por la entrada, Tom. ¿Fue su código para ser '" sí \ n "| pecl install -f apc' ?! –

+2

@ObinwanneHill: Tom se refería al comando ['yes'] (http://linux.die.net/man/1/yes). El beneficio de esto sobre 'printf' es que genera resultados repetidamente, lo que lo hace más portátil si el instalador pecl le solicita preguntas adicionales a las esperadas con su 'printf'. – jmikola

+0

@jmikola Oh, ya veo, no estaba familiarizado con ese comando. Gracias –

2

respuesta Hill de Obinwanne el clavo para mí, así que no estoy proporcionando nada nuevo aquí, pero la siguiente parece ser el absoluto más corto también sin ninguna herramienta de lujo.

echo '' | pecl install apc 
+1

Una alternativa más corta para lograr el mismo resultado es: 'pecl install apc <<< ''' – Guss

Cuestiones relacionadas