Cuando el servicio de valet deja de funcionar correctamente, ¿qué hacemos?
Soy fanático de usar tanto Homebrew como Valet cuando se trata de instalar y configurar un entorno de desarrollo básico de WordPress. Aunque el uso de administradores de paquetes y software simple para este tipo debería facilitar las cosas, no nos absuelve de los problemas ocasionales.
Caso en cuestión: hay momentos en los que es posible que tengamos que actualizar nuestro TLD para que funcione bien con Chrome y otros navegadores, o incluso actualizar toda la instalación.
Desafortunadamente, no siempre es tan fácil como debería ser. Técnicamente, deberíamos poder desinstalar Valet y actualizarlo a través de Composer. Pero personalmente me he encontrado con algunos problemas que relegaron tener que:
- desinstalar manualmente Valet,
- use Homebrew para desinstalar PHP y limpiar lo que quedó completamente,
- reinstalar paquetes Homebrew,
- instalar valet,
- verifique que el navegador use la misma versión de PHP que la instalación de Valet.
Suena como mucho trabajo para algo que más o menos debería "simplemente funcionar" y son bastantes pasos, pero son bastante rápidos de configurar.
Cuando el servicio de valet deja de funcionar
Entonces, si se encuentra en una situación en la que Valet no funciona con WordPress o Homebrew o cualquiera de ellos, entonces quizás los siguientes pasos lo ayuden.
1 Quitar valet manualmente
Según la documentación, deberíamos poder ejecutar:
$ valet uninstall
Para completar elimine el software, pero eso no funciona. En cambio, debemos eliminarlo por completo eliminando su directorio y el binario asociado.
Si está ejecutando macOS, la forma de hacerlo es eliminar el directorio .vendor y el binario valet que se encuentra en /usr/local/bin/valet.
Para hacer esto, ingrese los siguientes comandos en la terminal:
$ rm -rf ~/.valet
$ rm ~/usr/local/bin/valet
Aunque no debería recibir ningún mensaje de error, es posible que deba ejecutar sudo para eliminar el binario (pero si este es el caso, es probable que se eliminó y se instaló incorrectamente la primera vez).
2 Use Homebrew para eliminar PHP
Una de las cosas buenas de Homebrew es que nos permite ejecutar múltiples versiones de PHP y cambiar entre ellas. Esto es especialmente útil si está trabajando con varios proyectos para uso generalizado o entornos especializados.
Para ver qué versiones de PHP hay en su sistema, puede ejecutar lo siguiente:
$ brew list
Y deberías ver algo como esto:
A continuación, elimine los siguientes paquetes:
- dnsmasq
- nginx
- php
Y si tiene varias versiones de PHP, querrá eliminar todas las versiones del software. Para hacer esto, ingrese los siguientes comandos:
$ brew uninstall dnsmasq && brew uninstall nginx && brew uninstall php
$ brew cleanup
Es posible que también deba ejecutar brew uninstall para cada versión de PHP si tiene varias versiones ejecutándose en su sistema.
Tenga en cuenta que si tiene varias versiones de PHP en ejecución, también puede tener problemas para eliminar cada una de ellas.
Si ese es el caso, entonces tendrá que forzar la eliminación (usando el comando –force ), o puede que necesite eliminar recursivamente un directorio dado que genera informes. Esto deberá hacerse para cada una de las instalaciones de PHP.
Una vez hecho esto, recuerda ejecutar la limpieza.
A continuación, es posible que desee continuar y consultar al médico para ver si hay algún problema y resolverlo si lo hay. En muchos casos, encontrará enlaces simbólicos rotos que luego se pueden eliminar escribiendo brew prune.
Si hace eso y vuelve a ejecutar brew doctor, entonces todo debería verse bien:
Y estará listo para comenzar a reparar la instalación.
3 Reinstalar paquetes Homebrew
A continuación, instalemos la versión más reciente de PHP. Por supuesto, puede optar por instalar cualquier versión dada de PHP, pero ese es el contenido de otra publicación (o puede ver lo que está disponible en esta página ).
Primero, es posible que deba tocar el repositorio homebrew/php si aún no está en su lista de repositorios disponibles; sin embargo, puede verificar lo que tiene simplemente ingresando
$ brew tap
Si ve homebrew/php, entonces está listo para comenzar.
Entonces, a partir de ahí, actualicemos brew:
$ brew update
Luego instale la última versión de PHP ingresando:
$ brew install homebrew/core/php
En el momento de escribir este artículo, esto es PHP 7.2.5.
Para verificar que se ha instalado correctamente, puede ingresar qué php en su terminal y /usr/local/bin/php debe devolverse. A continuación, si ejecuta php -v, debería ver 7.2.5 devuelto como la versión.
4 Reinstalar servicio
Ahora es el momento de reinstalar Valet. Para ello, introduce el siguiente comando en tu terminal:
$ composer global require laravel/valet
A continuación, asegúrese de ejecutar el siguiente comando:
export PATH="$PATH:$HOME/.composer/vendor/bin"
Esto garantiza que los binarios globales de Composer estén ubicados en las variables ambientales de su sistema y estén disponibles en cualquier parte de su sistema.
A continuación, ejecute la instalación de valet. Esto instalará dnsmasq y nginx, que son componentes necesarios para ejecutar Valet.
Antes de probar el navegador, queremos hacer ping al entorno local para asegurarnos de que el servidor web funcione como se esperaba. Para hacer esto, ingrese lo siguiente en la terminal:
$ ping foo.test
Suponiendo que todo esté configurado correctamente, debería obtener una respuesta:
Ahora es el momento de asegurarse de que el navegador esté usando la misma versión de PHP que instalamos en el paso anterior. Para hacer esto, cree un directorio en cualquier parte de su sistema, llame a index.php y luego ingrese lo siguiente en el archivo:
<?php
phpinfo();
A continuación, navegue hasta el directorio en su terminal (he llamado al mío beta) y luego ingrese el siguiente comando en su terminal:
$ valet link && valet secure
A continuación, cargue https://beta.test en su navegador. Suponiendo que todo vaya bien, esto es lo que debería ver:
Tenga en cuenta que la versión de PHP que se está utilizando es la misma que instalamos anteriormente.
¿Por qué hacer esto manualmente?
En este punto, tiene una instalación de Valet completamente funcional con la última versión de todos los paquetes necesarios. Desafortunadamente, el comando de desinstalación no hace lo que esperarías y deja algunos artefactos atrás.
Por lo tanto, es por eso que soy fanático de eliminar todo manualmente, hacer una actualización y luego reinstalar Valet.
Si tiene problemas con su instalación, especialmente si está usando BrowserSync, Yarn o similar, entonces esto debería resolver esos problemas (junto con cualquier otro que pueda estar experimentando).






