Documentación de ServBay: Cómo definir una versión específica de Node.js para tus proyectos, scripts y sitios web
ServBay, como un entorno local de desarrollo web robusto, admite múltiples lenguajes y stacks tecnológicos, incluido Node.js. En la práctica, puede que necesites utilizar diferentes versiones de Node.js para distintos proyectos, scripts individuales o sitios completos. Por ejemplo, un proyecto antiguo podría depender de Node.js 14, mientras que uno nuevo puede requerir las funciones más recientes de Node.js 20. ServBay te ofrece formas flexibles para satisfacer estos requisitos.
En este artículo te explicamos en detalle cómo especificar fácilmente la versión de Node.js para scripts y sitios web en ServBay y cómo aprovechar la configuración a nivel de proyecto.
Utilizar el archivo .servbay.config para definir la versión de Node.js y otras variables para tu proyecto
Para aquellos proyectos que requieren un control estricto sobre la versión de Node.js y las variables de entorno relacionadas, ServBay proporciona una configuración a nivel de proyecto mediante la creación de un archivo .servbay.config
en la raíz del proyecto. Este archivo te permite definir la versión de Node.js para ese proyecto, los repositorios de los gestores de paquetes, directorios de caché, etc., garantizando así el aislamiento y la coherencia del entorno.
Un ejemplo de un archivo .servbay.config
para definir una versión específica de Node.js y configurar los repositorios y directorios de caché de npm/yarn sería:
bash
NODE_VERSION=20
YARN_CONFIG_REGISTRY=https://registry.npmmirror.com/ # Ejemplo: utilizar un mirror específico
NPM_CONFIG_REGISTRY=https://registry.npmmirror.com/ # Ejemplo: utilizar un mirror específico
NPM_CONFIG_CACHE=/Applications/ServBay/tmp/npm/cache # Ejemplo: ruta personalizada para la caché
YARN_CONFIG_CACHE=/Applications/ServBay/tmp/yarn/cache # Ejemplo: ruta personalizada para la caché
1
2
3
4
5
2
3
4
5
Explicación:
NODE_VERSION
: Especifica la versión principal de Node.js a utilizar para este proyecto. ServBay buscará e iniciará la versión instalada que coincida con este número.YARN_CONFIG_REGISTRY
,NPM_CONFIG_REGISTRY
: Configuran el repositorio de paquetes a usar para el gestor correspondiente (npm o yarn).NPM_CONFIG_CACHE
,YARN_CONFIG_CACHE
: Definen el directorio de caché que usarán npm o yarn. En el ejemplo se muestra una ubicación por defecto en el directorio temporal de ServBay:/Applications/ServBay/tmp/
.
Normalmente, debes colocar el archivo .servbay.config
en la raíz de tu proyecto. Para más detalles sobre la configuración y el uso, consulta la sección sobre el archivo .servbay.config en la documentación oficial de ServBay.
Ejecutar scripts con una versión específica de Node.js desde línea de comandos
Si no necesitas definir la versión de Node.js a nivel de proyecto y sólo quieres ejecutar un script o comando concreto con una versión específica de Node.js de forma puntual, puedes aprovechar los alias de línea de comandos que proporciona ServBay.
En el entorno de terminal de ServBay (puedes abrirlo desde la interfaz de la aplicación ServBay), simplemente utiliza el comando node-<versión>
para indicar qué versión de Node.js deseas emplear al ejecutar un script. ServBay crea automáticamente estos alias para cada versión instalada de Node.js.
Por ejemplo, para ejecutar el script script.js
con Node.js 14, utiliza:
bash
$ node-14 script.js
Hello World
Node.js Version: 14.17.0 # Salida de ejemplo, la versión puede variar
$ node-16 script.js
Hello World
Node.js Version: 16.3.0 # Salida de ejemplo, la versión puede variar
$ node-20 script.js
Hello World
Node.js Version: 20.10.0 # Salida de ejemplo, la versión puede variar
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
Explicación de los ejemplos
$ node-14 script.js
: Ejecuta el scriptscript.js
utilizando Node.js 14 instalado en ServBay (la versión exacta 14.x.x dependerá de tu instalación).$ node-16 script.js
: Ejecuta el script con Node.js 16.$ node-20 script.js
: Ejecuta el script con Node.js 20.
De este modo, puedes probar y ejecutar scripts en distintas versiones de Node.js con flexibilidad, lo que facilita verificar la compatibilidad o realizar tareas que requieren una versión específica, sin tener que cambiar la versión global de Node.js.
Configurar una versión de Node.js predeterminada para tu sitio web desde la interfaz de ServBay
ServBay te permite, a través de su panel de administración, definir la versión de Node.js por defecto para cualquier sitio web alojado. Esto resulta especialmente útil para sitios que dependen de Node.js como servicio backend (por ejemplo, aplicaciones Node.js tras un proxy reverso de Caddy o Nginx), o que requieren un entorno Node.js concreto.
Pasos
Abrir la interfaz de administración de ServBay: Inicia la aplicación ServBay y accede al panel desde el navegador (normalmente en
http://localhost:5200
o mediante el enlace en la ventana principal de la aplicación).Navega a la gestión de sitios: En la barra lateral izquierda, haz clic en
Sitios
(Website).Seleccionar y editar el sitio: Busca en la lista el sitio al que deseas asignar versión (por ejemplo, el que has creado en
/Applications/ServBay/www/servbay.demo
). Haz clic en el icono de editar a la derecha (suele ser un engranaje o lápiz), o directamente en el nombre del sitio para acceder a la configuración.Establecer la versión de Node.js: Busca la opción referente a la versión de Node.js en la página de configuración. Suele aparecer como un menú desplegable. Selecciona desde ahí la versión de Node.js que quieres que use ese sitio por defecto.
Guardar los cambios: Tras elegir la versión, asegúrate de pulsar el botón
Guardar
oAplicar
al final de la página para asegurar que se conserva tu configuración.Reiniciar el sitio o ServBay (si es necesario): Algunos cambios pueden requerir reiniciar el servidor web relevante (como Caddy o Nginx) o el propio ServBay para que tengan efecto. ServBay normalmente te avisará si es necesario reiniciar algún servicio tras aplicar la modificación.
Consideraciones
- Asegúrate de que la versión de Node.js esté instalada y en ejecución: La versión de Node.js seleccionada debe estar instalada y activa desde la sección
Paquetes
en ServBay. Si no está instalada o no está en funcionamiento, accede primero a la secciónPaquetes
para gestionarla. - Tipo de sitio web: Esta configuración afecta principalmente a los sitios que dependen de Node.js como entorno de ejecución (por ejemplo, proyectos backend desarrollados con Express.js, Next.js, NestJS, etc.). En el caso de sitios estáticos o servicios puramente PHP/Python/Go, esta opción podría no ser relevante o tener impacto limitado.
- Pruebas de compatibilidad: Tras cambiar la versión de Node.js de tu sitio, realiza pruebas completas para asegurarte de que todas las dependencias y servicios funcionan correctamente con la nueva versión, sin problemas de compatibilidad.
- Relación con
.servbay.config
: La configuración a nivel de sitio actúa como versión por defecto. Si en el directorio del sitio existe un archivo.servbay.config
que especificaNODE_VERSION
, generalmente dicho archivo tendrá prioridad y sobreescribirá la configuración realizada en la interfaz, ya que la configuración a nivel de proyecto tiene mayor jerarquía y permite un control más granular.
Resumen
ServBay es un entorno de desarrollo local completo que proporciona distintas formas flexibles y potentes para gestionar y definir qué versión de Node.js se utilizará en tus proyectos. Puedes aprovechar el archivo .servbay.config
en la raíz del proyecto para un control detallado de la configuración y variables de entorno, ejecutar scripts rápidamente con una versión concreta de Node.js mediante el comando node-<versión>
, o definir la versión por defecto para tu sitio desde la propia interfaz de administración de ServBay. Todas estas opciones te permitirán adaptarte fácilmente a los requisitos de cada proyecto o fase del desarrollo, ya sea para mantener la compatibilidad con proyectos heredados, probar nuevas funciones o mantener sincronía entre entornos de desarrollo y producción. ServBay te brinda el soporte necesario para ello y mejora notablemente tu productividad y capacidad de gestión del entorno.