La guía completa para instalar WP-CLI

Publicado: 2022-03-16
Instalar WP-CLI

La interfaz de línea de comandos de WordPress (WP-CLI) es una poderosa herramienta enfocada para desarrolladores de WordPress. Aquí en Delicious Brains lo usamos para ayudarnos a escribir pruebas, administrar cambios en las bases de datos de nuestro sitio e incluso tenemos compatibilidad con WP-CLI en WP Migrate DB Pro. Por último, pero no menos importante, SpinupWP, nuestro panel de control de servidor basado en la nube para WordPress, hace un uso intensivo de WP-CLI para administrar los sitios de WordPress, por lo que es una herramienta increíblemente importante para nosotros.

Nos encanta tanto que creemos que es importante que todos los desarrolladores de WordPress sepan cómo instalarlo y usarlo. Esta publicación cubrirá la instalación de WP-CLI y su configuración para que funcione de manera eficiente con esta increíble herramienta.

Tabla de contenido

  1. ¿Qué es WP-CLI?
  2. Cómo instalar WP-CLI en macOS y Linux
    1. El método oficial
    2. Instalar WP-CLI usando un administrador de paquetes
    3. Instalar WP-CLI usando APT
    4. Instalación de WP-CLI usando Homebrew
    5. Instalar WP-CLI usando Composer
    6. Instalación de WP-CLI usando Docker
    7. Verificando que WP-CLI Funciona
  3. Cómo instalar WP-CLI en Windows
    1. Verificando que WP-CLI funciona en Windows
  4. Después de instalar WP-CLI
    1. Configuración de la finalización de pestañas
    2. Creación de un archivo de configuración de WP-CLI
    3. Actualizando WP-CLI
  5. Terminando

¿Qué es WP-CLI?

WP-CLI es una interfaz de línea de comandos para WordPress. Le permite realizar muchas de las mismas tareas que el panel de administración en su sitio de WordPress, pero desde una terminal de línea de comandos en su computadora o un servidor web. Esto lo hace muy útil tanto durante el desarrollo como una vez que se implementa el sitio. Puede usar WP-CLI para instalar WordPress, configurar instalaciones multisitio, actualizar complementos y temas, actualizar WordPress y mucho más.

Una vez que te sientas cómodo con WP-CLI, encontrarás que esto es a menudo más rápido que hacer lo mismo a través del navegador web (y te hace lucir genial mientras lo haces).

Las herramientas de línea de comandos como WP-CLI también son excelentes para tareas repetitivas, como agregar usuarios de forma masiva o buscar actualizaciones de forma regular. Esto se debe a que WP-CLI es fácil de combinar con otras herramientas y utilidades de línea de comandos, como scripts Bash y trabajos cron.

La gente usa WP-CLI para una amplia variedad de tareas relacionadas con WordPress. Por ejemplo…

Instalación y activación de un complemento:

 $ wp plugin --activate advanced-custom-fields

Agregar un usuario:

 $ wp user create erik [email protected] --role=subscriber

Actualización del núcleo de WordPress y la base de datos:

 $ wp core update && wp core update-db

Tomando una instantánea de la base de datos:

 $ wp db export /mnt/backups/$(date +%Y%m%d).sql

Agregar un solo usuario, ejecutar copias de seguridad únicas o realizar comprobaciones de actualización mediante la línea de comandos puede no ser una gran ventaja en comparación con el uso de las páginas de administración. Sin embargo, si tiene 500 usuarios para agregar, o desea obtener actualizaciones y copias de seguridad a las 3 am todas las mañanas, tener una herramienta de línea de comandos se vuelve realmente útil.

Profundizaremos en cómo sacar el máximo provecho de WP-CLI en un tutorial futuro, incluidos consejos, sugerencias y trucos que el equipo de Delicious Brains ha aprendido a lo largo de los años. Pero lo primero es lo primero, instalemos correctamente WP-CLI.

Cómo instalar WP-CLI

Estas instrucciones son para usuarios de Mac y Linux. Haga clic aquí para saltar a las instrucciones de instalación en Windows.

El método oficial

La forma recomendada de instalar WP-CLI está documentada en el sitio de WP-CLI. La instalación de WP-CLI en una máquina Mac o Linux requiere PHP versión 5.6 o posterior y debe tener instalada la herramienta de línea de comando cURL. Abre tu terminal y ejecuta los siguientes comandos.

El primer paso es descargar la compilación de Phar:

 $ curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

A continuación, debe verificar el archivo descargado:

 $ php wp-cli.phar --info

Finalmente, hazlo ejecutable y muévelo a tu RUTA:

 $ chmod +x wp-cli.phar $ sudo mv wp-cli.phar /usr/local/bin/wp

Instalar WP-CLI usando un administrador de paquetes

Los desarrolladores de WP-CLI no participan activamente en el mantenimiento de paquetes para la multitud de administradores de paquetes. Las opciones para instalar WP-CLI usando un administrador de paquetes varían según el administrador de paquetes que use y si algún voluntario intervino y creó un paquete para él.

Instalar WP-CLI usando APT

Tiago Hillebrandt mantiene un PPA para instalar WP-CLI en Debian/Ubuntu y todas sus variaciones. Puedes usar su PPA así:

 $ sudo add-apt-repository ppa:tiagohillebrandt/wp-cli $ sudo apt-get update $ sudo apt-get install wp-cli

Instalación de WP-CLI usando Homebrew

Homebrew tiene una fórmula para WP-CLI, por lo que es cuestión de ejecutar el siguiente comando:

 $ brew install wp-cli

Instalar WP-CLI usando Composer

También puede usar Composer para instalar WP-CLI. Si bien el uso más común de Composer es mantener dependencias dentro de su proyecto PHP, también se puede usar para instalar herramientas en su máquina. Es posible instalar WP-CLI solo para su proyecto actual si es absolutamente necesario tener una versión específica de WP-CLI. Es bastante raro que un proyecto necesite algo más que la última versión, por lo que mi recomendación es instalarlo globalmente. Es bueno tener WP-CLI fácilmente accesible en todas partes y es una dependencia de desarrollo menos en mis proyectos. Aquí se explica cómo instalarlo globalmente:

 $ composer global require wp-cli/wp-cli

Este método de instalación requiere que agregue ~/.composer/vendor/bin a su variable PATH. Esto funciona de manera diferente dependiendo de si está usando MacOS, Linux o Windows. Aquí hay algunos enlaces útiles para usar Bash o Zsh.

Una vez que haya instalado WP-CLI globalmente de esta manera, puede acceder a él desde cualquier carpeta de su computadora.

Instalación de WP-CLI a través de Docker

La comunidad de Docker mantiene imágenes de WordPress y WP-CLI. Puede usar la imagen WP-CLI en sus proyectos de Docker especificando la variante CLI como su imagen de WordPress en el archivo yml creado por docker compose .

 image: wordpress:cli

Verificando que WP-CLI Funciona

Independientemente del método de instalación que utilice, es una buena idea verificar que la instalación se haya realizado correctamente y que se pueda acceder a WP-CLI independientemente del directorio en el que se encuentre. Para verificar que las cosas funcionan como deberían, puede pasar --info parámetro:

 $ wp --info

Si está instalado correctamente, debería ver algo como esto:

OS: Darwin 20.6.0 Darwin Kernel Versión 20.6.0: miércoles 10 de noviembre 22:23:07 PST 2021; raíz:xnu-7195.141.14~1/RELEASE_X86_64 x86_64
Shell: /bin/zsh
PHP binario: /usr/local/Cellar/[email protected]/7.4.27/bin/php
Versión PHP: 7.4.27
php.ini utilizado: /usr/local/etc/php/7.4/php.ini
MySQL binario: /usr/local/bin/mysql
Versión de MySQL: mysql Ver 8.0.28 para macos11.6 en x86_64 (Homebrew)
Modos SQL:
Directorio raíz de WP-CLI: phar://wp-cli.phar/vendor/wp-cli/wp-cli
Directorio de proveedores de WP-CLI: phar://wp-cli.phar/vendor
Ruta phar de WP_CLI: /usr/local/bin
Directorio de paquetes WP-CLI:
Configuración global de WP-CLI:
Configuración del proyecto WP-CLI:
Versión de WP-CLI: 2.6.0

Cómo instalar WP-CLI en Windows

Instalar WP-CLI en Windows nativo es ligeramente diferente de instalarlo en una máquina Mac o Linux. Antes de comenzar, al usar el Subsistema de Windows para Linux que Microsoft presentó hace unos años, debería poder instalarlo siguiendo las instrucciones para MacOS y Linux anteriores. Si desea que funcione en Windows nativo, los siguientes pasos son para usted.

Tenga en cuenta que WP-CLI está hecho ante todo para sistemas basados ​​en *nix. Algunas funcionalidades, como acceder a sitios remotos de WordPress a través de SSH, pueden requerir que pases por varios obstáculos. Es posible que otras funciones no funcionen en absoluto. Pero es posible obtener una instalación básica de WP-CLI en funcionamiento en una máquina con Windows.

Tenga en cuenta que su cuenta de usuario de Windows debe tener derechos de administrador para que estos pasos funcionen. Si no tiene derechos de administrador, debe pedirle a alguien que los tenga que le otorgue derechos de administrador o que lo ayude con estos pasos.

Requisitos de Windows

Para comenzar con la instalación de la línea de comandos de WordPress en Windows, los únicos requisitos reales son que tenga la línea de comandos PHP para Windows instalada y agregada a su RUTA para que pueda ejecutar PHP desde la línea de comandos en cualquier directorio de trabajo. La forma más fácil de instalar WP-CLI es usando cURL. La mayoría de las instalaciones de Windows ya tienen cURL instalado, ya que se incluye con Windows 10 desde 2018.

Si aún no lo tiene en su máquina, le recomiendo que lo instale usando uno de estos métodos sugeridos o descargándolo de la página de inicio de cURL antes de continuar.

Descargar e instalar

Primero, debe descargar la última versión de wp-cli.phar de GitHub en una carpeta local. Si tiene cURL instalado, puede hacerlo con tres comandos:

 C:\> mkdir C:\wp-cli C:\> cd C:\wp-cli C:\> curl -O https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

Si no tiene cURL y no puede instalarlo, también puede crear la carpeta C:\wp-cli en su Explorador de archivos de Windows manualmente, descargar el archivo usando el enlace anterior y luego moverlo a esa carpeta.

Después de descargar el archivo, es una buena idea confirmar que funciona escribiendo:

 C:> php C:\wp-cli\wp-cli.phar --info

Debería ver un par de líneas que resumen su entorno WP-CLI local.

Escribir la ruta completa al archivo phar cada vez que ejecuta un comando WP-CLI envejecerá muy rápido. Entonces, para hacer la vida un poco más fácil, vamos a hacer dos pasos más. Primero agregamos permanentemente la carpeta C:\wp-cli a la variable de entorno PATH. Prefiero hacer esto usando el comando setx . Puede seleccionar entre agregarlo solo a su entorno o agregarlo para todos los usuarios usando el /m .

Para todas las sesiones futuras con su cuenta de usuario:

 setx PATH "%PATH%;c:\wp-cli"

Solo para la sesión de terminal actual:

 set PATH "%PATH%;c:\wp-cli"

O para todas las sesiones futuras, para todos los usuarios del sistema:

 setx PATH "%PATH%;c:\wp-cli" /m

Solo agregar la ruta a su propio entorno está bien si esta es su máquina de desarrollo local. Si es un servidor donde potencialmente programará trabajos nocturnos usando WP-CLI, es mejor agregarlo al entorno para todos los usuarios. El uso de setx con el interruptor /m requiere que abra una terminal CMD con derechos administrativos completos. La forma más fácil de hacerlo es buscar cmd.exe en el menú Inicio, hacer clic derecho y seleccionar Ejecutar como administrador para abrirlo:

Inicie cmd.exe como administrador

Finalmente, creamos un archivo por lotes de Windows en la carpeta WP-CLI llamado wp.bat con el siguiente contenido:

 @ECHO OFF php "c:\wp-cli\wp-cli.phar" %*

Este archivo .bat le permitirá ejecutar WP-CLI usando el wp más corto en lugar de escribir siempre el nombre completo del archivo phar. Le ahorra un montón de tipeo y también es como se llama WP-CLI en Mac y Linux.

Verificando que WP-CLI funciona en Windows

Con todo lo anterior en su lugar, ahora deberíamos poder ejecutar WP-CLI desde cualquier carpeta:

 C:\> wp --info

Si está instalado correctamente, debería ver algo como esto:

Sistema operativo: Windows NT 10.0 compilación 19043 (Windows 10) AMD64
Consola: C:\WINDOWS\system32\cmd.exe
PHP binario: C:\php\php.exe
Versión PHP: 7.4.27
php.ini utilizado:   
MySQL binario: 
Versión MySQL:
Modos SQL:
Directorio raíz de WP-CLI: phar://wp-cli.phar/vendor/wp-cli/wp-cli
Directorio de proveedores de WP-CLI: phar://wp-cli.phar/vendor
Ruta phar de WP_CLI: C:\wp-cli
Directorio de paquetes WP-CLI:
Configuración global de WP-CLI:
Configuración del proyecto WP-CLI:
Versión de WP-CLI: 2.6.0

Después de instalar WP-CLI

Una vez que tenga WP-CLI en funcionamiento y haya verificado que funciona, es hora de realizar una configuración inicial. Uno de los conceptos centrales de WP-CLI son los commands que pueden tener subcommands . Cada uno de estos comandos y subcomandos puede tener varios modificadores opcionales. A veces puede terminar escribiendo cadenas de comandos bastante largas. Justo el otro día necesitaba insertar un elemento de matriz dentro de una opción de WordPress y el comando terminó así:

 $ wp --path=www/testing option patch insert tantan_wordpress_s3 post_meta_version 7

Una vez que se sienta cómodo con WP-CLI, sin duda aprenderá muchos de estos comandos de memoria. Pero si esto parece escribir más de lo que le gusta hacer de forma regular, permítame mostrarle algunas cosas que puede hacer para que se sienta menos abrumador y sea mucho más probable que sea correcto en el primer intento.

Configuración de la finalización de pestañas

Lo primero que vamos a hacer es habilitar la finalización de tabulación, que es el mecanismo en el shell que sugiere automáticamente lo que debe escribir a continuación cuando presiona la tecla TAB . En mi entorno, solo escribo el inicio de ese comando anterior para ver qué subcomandos hay:

 $ wp option [TAB] add delete get list patch pluck update

Configurar la finalización de pestañas es demasiado fácil como para no hacerlo, pero es útil saber qué shell de línea de comandos está utilizando. Si no está seguro, déjeme mostrarle rápidamente cómo hacerlo comprobando la variable de entorno $SHELL:

 # On older MacOS and on most Linux boxes, we should see /bin/bash $ echo $SHELL /bin/bash # On newer MacOS boxes, we should see /bin/zsh $ echo $SHELL /bin/zsh # Check for Oh My Zsh $ omz Usage: omz <command> [options] Available commands: help Print this help message changelog Print the changelog plugin <command> Manage plugins pr <command> Manage Oh My Zsh Pull Requests reload Reload the current zsh session theme <command> Manage themes update Update Oh My Zsh version Show the version

Si está utilizando Oh My Zsh, esto es lo más fácil que existe. Simplemente escriba el siguiente comando:

 $ omz plugin enable wp-cli omz::plugin::enable: plugins enabled: wp-cli.

Si está utilizando directamente Bash o Zsh, solo necesita unos pocos pasos más para descargar el script y agregarlo a su entorno. Primero, cambie a su carpeta de inicio y descargue el script para la versión 2.6.0 de WP-CLI:

 $ cd ~/ $ curl -O https://raw.githubusercontent.com/wp-cli/wp-cli/v2.6.0/utils/wp-completion.bash

A continuación, agréguelo a su perfil y vuelva a cargar. Los usuarios de Bash pueden usar estos comandos:

 $ echo "source ~/wp-completion.bash" >> ~/.bash_profile $ source ~/.bash_profile

Los usuarios de Zsh, sin embargo, deben usar estos:

 $ echo "source ~/wp-completion.bash" >> ~/.zshenv $ source ~/.zshenv

En un sistema Linux, en lugar de obtener wp-completion.bash desde su ~/.bash_profile , debe hacerlo desde su ~/.bashrc . Asegúrese de que el archivo wp-completion.bash esté en su directorio de inicio, luego ejecute los siguientes comandos desde el directorio de inicio:

 cat wp-completion.bash >> .bashrc source .bashrc

Si bien la finalización de pestañas también existe en cierta medida para Windows, que yo sepa, no es posible integrarlo con herramientas de terceros como WP-CLI como lo es en Mac o Linux. Si conoce una forma de agregar la finalización de la pestaña WP-CLI en Windows, comuníquese con los comentarios a continuación.

Creación de un archivo de configuración de WP-CLI

Lo siguiente que siempre hago tan pronto como tengo una instalación de WP-CLI en funcionamiento es agregar un archivo de configuración a mi carpeta $HOME . Los archivos de configuración son un tema bastante avanzado con muchas funciones interesantes que podrían justificar un artículo completamente separado. Obtener un archivo de configuración básico en su lugar es una excelente manera de reducir la cantidad de escritura repetitiva.

Sin un archivo de configuración, WP-CLI supondrá que su directorio de trabajo es el mismo que el archivo wp-config.php del sitio de WordPress real. Muchas veces no estarás en ese directorio. Por ejemplo, cada vez que abra su terminal, normalmente estará en su carpeta $HOME . Afortunadamente, puede proporcionar el parámetro --path a WP-CLI para que se vea en la carpeta correcta:

 $ wp --path=/Users/eriktorsner/src/path/to/wordpress plugin list

Como puede imaginar, rápidamente se vuelve bastante tedioso seguir escribiendo esa variable de ruta inicial cada vez. Para reducir la cantidad de escritura, puede agregar un archivo de configuración que WP-CLI usará para obtener la path y otros parámetros importantes.

Para crear este archivo, abra su editor de texto favorito y cree un archivo llamado wp-cli.yml en su directorio de inicio. Agregue la siguiente línea:

 path: /Users/eriktorsner/src/path/to/wordpress

Debe ajustar esa ruta para que coincida con el lugar donde tiene, o planea colocar, su instalación local de WordPress. Con este archivo en su lugar, WP-CLI sabrá automáticamente dónde buscar la instalación de WordPress para que no tenga que escribirla cada vez.

Cada vez que ejecute el comando WP-CLI, buscará un archivo de configuración para usar. Hay varios lugares potenciales para colocar un archivo de configuración y hay una prioridad específica que determina qué archivo de configuración se elige, de mayor a menor prioridad:

  1. Un archivo llamado wp-cli.local.yml en el directorio de trabajo actual o hacia arriba
  2. Un archivo llamado wp-cli.yml en el directorio de trabajo actual o superior
  3. Un archivo llamado wp-cli.yml en su carpeta $HOME

Tenga en cuenta que "o hacia arriba" significa que, suponiendo que mantenga un archivo de configuración en la raíz de su instalación de WordPress, WP-CLI aún podrá encontrar si ha trabajado en un subdirectorio como wp-content/uploads/year/month . También vale la pena saber que si desea colocar su archivo de configuración en otro lugar que no sea su carpeta de inicio, siempre puede especificar una ubicación utilizando la variable de entorno WP_CLI_CONFIG_PATH .

Cualquier parámetro que proporcione a través del comando escrito anulará los valores recogidos de un archivo de configuración, lo que facilita la anulación de los valores de un archivo de configuración cuando sea necesario.

Esta sección apenas ha arañado la superficie de lo increíblemente útil que puede ser el archivo de configuración WP-CLI. En una publicación futura, planeo profundizar mucho más y mostrarles cómo los uso para administrar mis entornos locales de desarrollo de WordPress.

Actualizando WP-CLI

WP-CLI tiene la capacidad de autoactualizarse. Si instaló WP-CLI usando el método recomendado, puede actualizarlo usando el subcomando de update :

 $ sudo wp cli update

En su entorno de desarrollo local, es posible que desee probar las funciones más recientes y mejores de WP-CLI y utilizar la compilación nocturna (pero evite esto en servidores de producción):

 $ sudo wp cli update --nightly

Si instaló WP-CLI usando un administrador de paquetes, siempre debe actualizar usando el mecanismo de administradores de paquetes. Es casi seguro que la actualización directa funcionará, pero no lo recomiendo. Estaría robando al administrador de paquetes su oportunidad de saber qué versión está instalada actualmente. Eso nunca es bueno. Una vez que haya seleccionado su método de instalación, le sugiero que también lo siga para las actualizaciones.

Terminando

Si ha seguido esta publicación, ahora debería tener una instalación funcional de WP-CLI configurada con finalización de pestañas y un archivo de configuración básico en su lugar. Comenzaremos a buscar cómo hacer el trabajo con esta herramienta profundizando en la administración de complementos en una publicación futura.

Mientras tanto, es posible que desee leer nuestro artículo sobre los paquetes WP-CLI sin los que no podemos vivir, o nuestra serie sobre la automatización de la configuración del sitio local de WordPress con scripts.

Si tiene alguna pregunta sobre cómo instalar WP-CLI, no dude en hacérmelo saber en los comentarios a continuación.