Drush en Windows 7

Drush es una utilidad Drupal que funciona en línea de comandos y permite descargar módulos, activarlos y desactivarlos, entre otras cosas.

Aunque algunas personas no se sienten muy bien frente a una consola de comandos, en realidad puede ser tu mejor amiga. Cuestión de buscar conocerla un poco mejor.

Una de las ventajas de los comandos escritos es que son muy fáciles de registrar. Basta con ir copiándolos a un archivo de texto. Luego, puedo reproducir fácilmente todos los pasos que hice. Es una manera de automatizar. Con los clics es un poco más complicado.

Instalando Drush en Windows 7

Usando Windows 7 Home Basic 64, Drupal 6.16, Drush 3.

Drush es un conjunto de scripts que se tienen que colocar en un directorio que sea parte del path de ejecutables (la que en Windows está definida por la variable de entorno Path).

Por ejemplo, descomprimo drush-All-versions-3.0.tar.gz y lo coloco en C:\bin\dev\drush\

Me aseguro de que ese directorio esté en el path (WIN+PAUSA para información del sistema, Configuración avanzada del Sistema, Opciones avanzadas, Variables de entorno, Variables del sistema, Path), agregando al valor de Path el separador punto y coma (;) seguido del nombre del directorio:

Path: %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;%JAVA_HOME%\bin;C:\bin\dev\xampp\php;C:\bin\system\gnuwin;C:\bin\dev\drush

Observe que también está en el Path la ruta del PHP. Asegúrese de que también la tiene, porque Drush necesita a llamar a PHP en la línea de comandos.

En Linux, Drush encuentra fácilmente algunos utilitarios que necesita para funcionar (como tar y wget), pero estos no están en Windows, así que hay que instalarlos.

Estos se pueden buscar en la lista GNUWin32 Packages. Son BsdTar/LibArchive, Gzip, Wget, OpenSSL y algunas dependencias.

En cada caso, uno puede elegir bajar un ejecutable para instalarlo, pero me pareció más simple bajar los zip y sacar de ellos sólo las cosas que necesito. Los enlaces de los zip son:
En cada una encontré un directorio bin de donde extraje los exe y dll que me parecieron convenientes.

De libarchive se obtienen bsdcpio.exe, bsdtar.exe y libarchive2.dll.
De gzip, gzip.exe.
De wget, wget.exe.
De openssl, libssl32.dll.
De las dependencias, bzip2.dll y zlib1.dll

En las páginas oficiales de Drupal no menciona a OpenSSL, pero en mi caso el sistema pedía el libssl32.dll que ese paquete contiene.
Otra cosa importante que hay que tener en cuenta en renombrar bsdtar.exe como tar.exe.

En una máquina Windows 7 Home Professional con esto quedó listo, pero en la que tiene Windows 7 Home Basic tuve que darle a mi usuario full acceso al directorio drupal (clic derecho, Propiedades, Seguridad, elegir el usuario, Editar, elegir el usuario, en Control total, marcar Permitir).
Si todo salió bien será posible colocarse en algún directorio drupal (por ejemplo cd C:\bin\xampp\htdocs\drupal) y ejecutar algún comando drush.

    Algunos comandos drush

    drush
    muestra las opciones
    drush st
    muestra el estatus de la aplicación drupal en la que estemos localizados
    drush dl nombre_modulo
    descarga el módulo nombre_modulo (la última versión pertinente) y la coloca en sites/all/modules
    drush en nombre_modulo
    habilita el módulo nombre_modulo

    En el caso de una aplicación multisite se usa algo como:

    drush -l localhost.site1
    drush -l localhost.site1 st
    drush -l localhost.site1 dl nombre_modulo

    y así por el estilo.

    Ojalá le sirva de ayuda.

    Comentarios

    Entradas populares de este blog

    Debug con Xdebug y Aptana (y Notepad++)

    Drupal sí, drupal no

    CSS3 para mejorar el breadcrumb de un tema Zen