{"id":229939,"date":"2022-11-23T11:01:00","date_gmt":"2022-11-23T08:01:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=229939"},"modified":"2022-11-09T19:23:08","modified_gmt":"2022-11-09T16:23:08","slug":"un-entorno-de-desarrollo-de-wordpress-usando-un-administrador-de-paquetes","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/es\/un-entorno-de-desarrollo-de-wordpress-usando-un-administrador-de-paquetes\/","title":{"rendered":"Un entorno de desarrollo de WordPress (usando un administrador de paquetes)"},"content":{"rendered":"\n<p>En este punto, he escrito sobre la mayor parte de los <strong><a href=\"https:\/\/tommcfarlin.com\/tag\/oop-fundamentals\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Fundamentos de OOP<\/a><\/strong> que creo que son necesarios para comenzar a analizar temas m\u00e1s profundos (como patrones de dise\u00f1o y c\u00f3mo aplicar estos temas en el desarrollo de WordPress).<\/p>\n<p>Pero al planificar el contenido, segu\u00ed volviendo a algunas otras cosas que creo que tambi\u00e9n es necesario cubrir eventualmente. Estas son cosas como Composer, Yarn, herramientas de compilaci\u00f3n, etc.<\/p>\n<p>Por encima de eso, sin embargo, me segu\u00eda preguntando:<\/p>\n<blockquote>\n<p>Si voy a escribir extensamente sobre este material, \u00bfdebo suponer que todos estamos usando el mismo entorno?<\/p>\n<\/blockquote>\n<p>Y esa es una pregunta dif\u00edcil de responder porque algunas de las personas que leen esto han estado escribiendo c\u00f3digo durante bastante tiempo. Es decir, ellos (o usted) tienen sus herramientas, su configuraci\u00f3n y c\u00f3mo le gusta organizar sus proyectos.<\/p>\n<p>Por otro lado, est\u00e1n aquellos (o usted) que est\u00e1n buscando un camino diferente o que buscan comenzar desde cero. Y para ese fin, creo que es importante cubrir dos cosas:<\/p>\n<ol>\n<li>C\u00f3mo configurar un entorno de desarrollo local<\/li>\n<li>Qu\u00e9 IDE, complementos y herramientas se van a utilizar<\/li>\n<\/ol>\n<p>Para algunos, no son los temas m\u00e1s emocionantes y ciertamente est\u00e1n poniendo una pausa en el aspecto m\u00e1s avanzado de la programaci\u00f3n orientada a objetos. Dado que aquellos de ustedes que pagan para leer este material tienen acceso a los comentarios, debo suponer que, en alg\u00fan momento, los comentarios llegar\u00e1n preguntando c\u00f3mo lograr ciertas cosas.<\/p>\n<p>Y con ese fin, voy a asumir que todos estamos trabajando en el mismo campo de juego. Si no, hay mucho que puedo hacer para brindar ayuda m\u00e1s all\u00e1 de las preguntas de programaci\u00f3n reales.<\/p>\n<p>Entonces, antes de profundizar en las profundidades de la programaci\u00f3n orientada a objetos, voy a pasar algunas publicaciones cubriendo los temas anteriores en detalle para asegurarme de que todos estamos en la misma p\u00e1gina.<\/p>\n<p>Si se siente c\u00f3modo con sus herramientas y su configuraci\u00f3n, tenga paciencia conmigo. Si est\u00e1 buscando una forma definitiva de configurar su entorno, las siguientes publicaciones son para usted.<\/p>\n<p>Y con todo eso dicho, comencemos hablando sobre c\u00f3mo configurar limpiamente un entorno de desarrollo local que sea f\u00e1cil de mantener.<\/p>\n<h2>Entorno de desarrollo de WordPress<\/h2>\n<p>Si est\u00e1s leyendo esto, probablemente sepas que <strong><a href=\"https:\/\/wordpress.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">WordPress<\/a><\/strong> requiere tres piezas de software para ejecutarse:<\/p>\n<ul>\n<li><strong><a href=\"http:\/\/www.php.net\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHP<\/a><\/strong> ,<\/li>\n<li>Un servidor web (que suele ser <strong><a href=\"https:\/\/httpd.apache.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Apache<\/a><\/strong> o <strong><a href=\"https:\/\/www.nginx.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Nginx<\/a><\/strong> ),<\/li>\n<li>Un servidor de base de datos (que tradicionalmente es <strong><a href=\"https:\/\/www.mysql.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">MySQL<\/a><\/strong> ).<\/li>\n<\/ul>\n<p>Todo este software se puede instalar manualmente, pero soy un gran fan\u00e1tico de usar un administrador de paquetes (piense en una tienda de aplicaciones o algo similar) para administrar todo esto. Hace que la instalaci\u00f3n, la actualizaci\u00f3n, la poda y la b\u00fasqueda de problemas sean mucho, mucho m\u00e1s f\u00e1ciles.<\/p>\n<p>Y para m\u00ed, mi elecci\u00f3n de administradores de paquetes para manejar este tipo de cosas es <strong><a href=\"https:\/\/brew.sh\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Homebrew<\/a><\/strong>. (Y s\u00ed, tambi\u00e9n he escrito sobre esto en algunas otras publicaciones).<\/p>\n<p>Al usarlo, podremos instalar todo lo anterior, prepararnos para profundizar en la programaci\u00f3n orientada a objetos y aplicar los temas en el desarrollo de WordPress.<\/p>\n<h3>1 Instalar Homebrew<\/h3>\n<p>Lo primero que queremos hacer, antes que nada, es instalar Homebrew. Independientemente de su sistema operativo, esto requiere que Ruby est\u00e9 instalado, por lo que si no lo tiene, aseg\u00farese de instalarlo.<\/p>\n<p>Si est\u00e1 ejecutando macOS o una variante de Linux, es probable que ya lo tenga. Puedo hablar por los usuarios de Windows, pero <strong><a href=\"https:\/\/www.ruby-lang.org\/en\/documentation\/installation\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">instalarlo es sencillo<\/a><\/strong>.<\/p>\n<p>Si (o una vez) Ruby est\u00e1 instalado, ingrese el siguiente comando en su Terminal o su l\u00ednea de comandos:<\/p>\n<p><code>\/usr\/bin\/ruby -e \"$(curl -fsSL https:\/\/raw.githubusercontent.com\/Homebrew\/install\/master\/install)\"<\/code><\/p>\n<p>Despu\u00e9s de que comience la instalaci\u00f3n, deber\u00eda ver algo como lo siguiente en su sesi\u00f3n:<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-164668-61e76a27aeab4.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-164668-61e76a27aeab4.png\" alt=\"Un entorno de desarrollo de WordPress (usando un administrador de paquetes)\" ><\/a><\/p>\n<p>Esto puede llevar algo de tiempo, pero el instalador generalmente es muy bueno al proporcionar comentarios sobre lo que est\u00e1 haciendo, as\u00ed que tenga paciencia. Le notificar\u00e1 una vez que haya terminado y una vez que lo haya hecho, ser\u00e1 igual de f\u00e1cil continuar instalando el resto de lo que se necesita.<\/p>\n<p>Y eso es lo que vamos a hacer a continuaci\u00f3n.<\/p>\n<h3>2 Instalaci\u00f3n de valet<\/h3>\n<p>Aunque diferentes personas prefieren diferentes servicios (como <a href=\"https:\/\/tommcfarlin.com\/mamp-4-wordpress-development\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">MAMP<\/a> ), me ha gustado mucho <strong><a href=\"https:\/\/laravel.com\/docs\/5.6\/valet\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Valet<\/a><\/strong>. Es una soluci\u00f3n todo en uno y hace que sea realmente f\u00e1cil administrar los diversos componentes que vienen con la ejecuci\u00f3n de un entorno de desarrollo de WordPress.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-164668-61e76a2bd582b.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-164668-61e76a2bd582b.png\" alt=\"Un entorno de desarrollo de WordPress (usando un administrador de paquetes)\" ><\/a><\/p>\n<p>Claro, requiere sumergirse en la Terminal de vez en cuando, pero creo que si est\u00e1 buscando sumergirse en la programaci\u00f3n orientada a objetos, es probable que necesite sentirse c\u00f3modo con la Terminal, especialmente cuando trabaja con herramientas. como <strong><a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Composer<\/a><\/strong>, <strong><a href=\"https:\/\/yarnpkg.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Yarn<\/a><\/strong>, <strong><a href=\"https:\/\/git-scm.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Git<\/a><\/strong> u otras herramientas para discutir mucho m\u00e1s en el futuro.<\/p>\n<p>De todos modos, en este punto ya est\u00e1 listo para instalar Valet. A los efectos de esta gu\u00eda, vamos a utilizar:<\/p>\n<ul>\n<li>PHP 7.2<\/li>\n<li>Compositor<\/li>\n<\/ul>\n<p>La instalaci\u00f3n de cada uno de estos es bastante f\u00e1cil y todas las instrucciones necesarias se encuentran a continuaci\u00f3n.<\/p>\n<p>Como acabamos de instalar Homebrew, no es necesario actualizarlo. Sin embargo, si ya lo tiene instalado, aseg\u00farese de ejecutar:<\/p>\n<p><code>$ brew update<\/code><\/p>\n<h4>Instalar PHP 7.2<\/h4>\n<p>Luego, contin\u00fae e instale PHP 7.2 emitiendo el siguiente comando en su Terminal:<\/p>\n<p><code>$ brew install homebrew\/php\/php72<\/code><\/p>\n<p>Homebrew har\u00e1 lo habitual de descargar los archivos binarios, instalarlos y luego avisarle una vez que est\u00e9 completo.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-164668-61e76a30f0160.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-164668-61e76a30f0160.png\" alt=\"Un entorno de desarrollo de WordPress (usando un administrador de paquetes)\" ><\/a><\/p>\n<p>En este punto, necesitamos usar Composer para instalar Valet, pero antes de hacerlo, debemos asegurarnos de que Composer est\u00e9 instalado.<\/p>\n<h4>Instalar compositor<\/h4>\n<p>Como estamos usando Homebrew, instalar Composer tambi\u00e9n es muy f\u00e1cil, ya que podemos instalarlo como lo har\u00edamos con cualquier otro paquete. Para hacerlo, ingrese el siguiente comando:<\/p>\n<p><code>$ brew install composer<\/code><\/p>\n<p>Y, como hemos visto en el resto de este tutorial, Homebrew har\u00e1 lo suyo y luego le notificar\u00e1 una vez que est\u00e9 completo. Para verificar que se ha instalado correctamente, escriba el siguiente comando y presione enter:<\/p>\n<p><code>$ composer --version<\/code><\/p>\n<p>En el momento de este art\u00edculo, Composer se encuentra en la versi\u00f3n 1.6.3.<\/p>\n<p><strong>Nota<\/strong>: A veces, Homebrew detectar\u00e1 que Composer ya est\u00e1 instalado y te har\u00e1 saber que ya existe. agradable verdad? Dar\u00e1 un mensaje que dice algo como esto:<\/p>\n<blockquote>\n<p>Target \/usr\/local\/bin\/composer ya existe. Es posible que desee eliminarlo.<\/p>\n<\/blockquote>\n<p>Y luego da instrucciones para hacerlo. Soy fan\u00e1tico de seguir dichas instrucciones para que todo se gestione bajo Homebrew.<\/p>\n<h4>Instalar valet<\/h4>\n<p>Ahora es el momento de instalar Valet. Como instalamos Homebrew, PHP y Composer, es pan comido instalar el resto de lo que necesitamos para nuestro entorno de desarrollo.<\/p>\n<p>Caso en cuesti\u00f3n: emita el siguiente comando en su Terminal:<\/p>\n<p><code>$ composer global require laravel\/valet<\/code><\/p>\n<p>A continuaci\u00f3n, ingrese el siguiente comando:<\/p>\n<p><code>$ ~\/.composer\/vendor\/bin<\/code><\/p>\n<p>Ya que esto asegurar\u00e1 que Valet est\u00e9 en las variables ambientales de su sistema (o su RUTA, como dir\u00e1n algunos, dependiendo de su sistema operativo). En \u00faltima instancia, el objetivo de esto es asegurarse de que sea accesible independientemente de d\u00f3nde se encuentre en su sistema.<\/p>\n<p>Finalmente, ingrese esto en su sesi\u00f3n:<\/p>\n<p><code>$ valet install<\/code><\/p>\n<p>Es posible que reciba algunos mensajes sobre c\u00f3mo detener Nginx, actualizar la configuraci\u00f3n y luego reiniciarlo. En \u00faltima instancia, sin embargo, querr\u00e1s ver lo siguiente:<\/p>\n<blockquote>\n<p>\u00a1El valet se instal\u00f3 correctamente!<\/p>\n<\/blockquote>\n<p>\u00a1Y una vez que veas eso, habr\u00e1s terminado con la primera parte de esto!<\/p>\n<h2>\u00bfQue sigue?<\/h2>\n<p>En este punto, tiene todo lo que necesita para configurar sitios de prueba, instalar WordPress y todo ese jazz. Voy a cubrir eso en una pr\u00f3xima publicaci\u00f3n, pero tambi\u00e9n voy a cubrir c\u00f3mo seleccionar un IDE y los complementos necesarios para complementar el trabajo que hemos hecho hasta ahora.<\/p>\n<p>Mientras tanto, si tienes preguntas, no dudes en dejar un comentario. Puede ser una pregunta, un consejo para otros usuarios del software, una sugerencia o cualquier otra cosa.<\/p>\n<p>Independientemente, estamos un paso m\u00e1s cerca de escribir c\u00f3digo profesional orientado a objetos utilizando tecnolog\u00edas s\u00f3lidas para hacerlo.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fuente de grabaci\u00f3n:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Instrucciones para instalar un entorno de desarrollo local de WordPress de principio a fin utilizando un administrador de paquetes.<\/p>\n","protected":false},"author":1,"featured_media":164669,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[716,747,840,861],"tags":[1172],"class_list":["post-229939","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-desarrollador","category-fuente-abierta","category-tutoriales","category-wordpress-2","tag-affiai-es"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/229939","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/comments?post=229939"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/229939\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media\/164669"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media?parent=229939"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/categories?post=229939"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/tags?post=229939"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}