Setting Up Your Local Environment/es: Difference between revisions
From Joomla! Documentation
Alejoasotelo (talk | contribs) Created page with "=== Scripts de Node/npm ===" |
Alejoasotelo (talk | contribs) Created page with "Node.js viene con un administrador de paquetes llamado NPM (en cierto modo, es el mismo que Composer). NPM tiene un comando <tt>run</tt> y hemos preparado algunos scripts para..." |
||
| Line 40: | Line 40: | ||
=== Scripts de Node/npm === | === Scripts de Node/npm === | ||
Node.js | Node.js viene con un administrador de paquetes llamado NPM (en cierto modo, es el mismo que Composer). NPM tiene un comando <tt>run</tt> y hemos preparado algunos scripts para facilitarle el desarrollo. Debe ejecutar los comandos en la raíz del repositorio cuando cambia los archivos JS o SASS. Previamente, la primera vez necesita ejecutar <tt>npm ci</tt> para instalar las dependencias. | ||
==== npm run build:css ==== | ==== npm run build:css ==== | ||
Revision as of 22:51, 23 June 2021
Cómo configurar un Entorno Local para Joomla 4
Con Joomla! 4 hemos cambiado el proceso de desarrollo. Ya no es posible clonar el repositorio y tener una instalación de Joomla utilizable. Seguimos las mejores prácticas e implementamos un proceso de construcción para el CMS.
Guía de Inicio Rápido
Los pasos para configurar su entorno de desarrollo dependen de su sistema operativo. No podemos escribir documentación para todos los sistemas operativos (SO), utilice su motor de búsqueda favorito para encontrar un HowTo.
Herramientas que necesita
- PHP: básicamente lo mismo que necesita para ejecutar un sitio Joomla, pero necesita la versión PHP CLI (interfaz de línea de comandos). (Consulte la página Configuración de un servidor LAMPP para el desarrollo de PHP).
- Composer: para administrar las dependencias PHP de Joomla. Para obtener ayuda con la instalación de Composer, lea la documentación en https://getcomposer.org/doc/00-intro.md (en Inglés).
- Node.js: para compilar archivo JavaScript y SASS de Joomla. Para obtener ayuda con la instalación de Node.js, siga las instrucciones disponibles en https://nodejs.org/en/. Tenga en cuenta que necesitará NodeJS 12 o superior para instalar Joomla.
- Git: para la gestión de versiones.
Pasos para Configurar el Entorno Local
- Clonar el repositorio
- Checkout de la rama 4.0-dev
- Ejecutar composer install desde la raiz del repositorio git. (Puede agregar --ignore-platform-reqs si no tiene PHP-LDAP instalado localmente y no lo necesita)
- Ejecutar npm ci desde la raiz del repositorio git. (Tenga en cuenta que necesita npm 6.13.4 o superior para esto. Ejecutar npm install -g npm@lts para actualizar su versión de npm a la versión LTS).
Los usuarios de Linux y OSX pueden configurar el siguiente alias de bash colocando lo siguiente dentro del archivo ~/.bashrc file:
alias jclean="rm -rf administrator/templates/atum/css; rm -rf templates/cassiopeia/css; rm -rf administrator/templates/system/css; rm -rf templates/system/css; rm -rf media/; rm -rf node_modules/; rm -rf libraries/vendor/;rm -f administrator/cache/autoload_psr4.php;rm -rf installation/template/css"
alias jinstall="jclean; composer install; npm ci"
Esto eliminará todos los archivos compilados en su sistema y ejecutará una nueva instalación como un comando llamando a jinstall dentro de su instalación de Joomla. También puede usar el comando jclean para volver a una rama de Joomla 3.x
Una guía de inicio un poco más larga
Joomla es similar a muchas otras herramientas web en estos días. Tiene una gran parte de PHP y cada vez tiene más código JavaScript. Si bien la codificación PHP no necesita tanta preparación, JavaScript necesita muchas herramientas. La razón principal es que nadie escribe código de una manera que todos los navegadores entiendan, por lo que el código debe transpilarse, por ejemplo, de ES6 a una versión compatible de JavaScript. Lo mismo ocurre con CSS. Para Joomla estamos usando SASS y esto se convertirá a CSS nativo para que cualquier navegador lo entienda. El lado negativo, es que configurar un entorno de desarrollo es un poco más complicado, pero las herramientas hacen que la codificación sea más conveniente. Gracias a los observadores y a la recarga automática del navegador, puede ver sus cambios en tiempo real.
PHP
Debería ser suficiente ejecutar composer install ya que esto instalará las dependencias PHP guardadas en el archivo composer.lock. Puedes hacer esto tantas veces como quieras. Solo instalará paquetes nuevos cuando se cambie el archivo composer.lock. No ejecute composer update ya que esto actualizará todos los paquetes a versiones más recientes y actualizará el archivo composer.lock.
Nota: Es posible que deba ejecutar composer install con la opción --ignore-platform-reqs para ignorar los requisitos de plataforma especificados en Composer. Es decir, si no tiene instalada la extensión LDAP de PHP.
Scripts de Node/npm
Node.js viene con un administrador de paquetes llamado NPM (en cierto modo, es el mismo que Composer). NPM tiene un comando run y hemos preparado algunos scripts para facilitarle el desarrollo. Debe ejecutar los comandos en la raíz del repositorio cuando cambia los archivos JS o SASS. Previamente, la primera vez necesita ejecutar npm ci para instalar las dependencias.
npm run build:css
It will compile SASS files to CSS and also create the minified files.
npm run build:js
It will compile and transpile the JavaScript files to the correct format and create minified files.
npm run watch
This is the same as the build:js command but will watch for changes and automatically build updated files in the media directory. SASS files are not included yet.
npm run lint:js
This will perform a syntax check on all ES6 JavaScript files against the javascript code standard (for more information on the Joomla 4 codestyle standard please read the the coding standards manual at the coding standards manual.
npm run test
This will run a JavaScript testing suite.
Possible Issues
When running composer install you can run into these errors
Problem 1
- Installation request for joomla/ldap 2.0.0-beta -> satisfiable by joomla/ldap[2.0.0-beta].
- joomla/ldap 2.0.0-beta requires ext-ldap * -> the requested PHP extension ldap is missing from your system.
Problem 2
- Installation request for symfony/ldap v5.1.5 -> satisfiable by symfony/ldap[v5.1.5].
- symfony/ldap v5.1.5 requires ext-ldap * -> the requested PHP extension ldap is missing from your system.
The solution is to run the composer install with the --ignore-platform-reqs option to ignore platform requirements specified in Composer. That is, if you do not have PHP's LDAP extension installed.
composer install --ignore-platform-reqs
If you receive a login error such as shown below, delete the library/autoload_psr4.php file as shown in the second image.