Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

Después de instalar Node.js, sigue una comprobación de tres pasos: confirma que node y npm responden en la terminal, ejecuta un archivo JavaScript sencillo y levanta un servidor HTTP local. Cuando esas pruebas funcionen, decide si tu proyecto seguirá con CommonJS o con ECMAScript modules y crea un package.json solo cuando necesites scripts o dependencias.

Este orden evita confundir problemas distintos. Primero compruebas que el sistema encuentra los ejecutables; después verificas que el runtime puede ejecutar código; por último compruebas una operación de red local. No necesitas instalar un framework, descargar una biblioteca ni crear una estructura compleja para obtener esas respuestas.

1. Comprueba que Node.js está disponible

Abre una terminal nueva (símbolo del sistema, PowerShell, Terminal o la aplicación equivalente de tu sistema) y ejecuta:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
node --version
npm --version

El primer comando muestra la versión del runtime de Node.js y el segundo la versión de npm. Ver ambos números confirma que los ejecutables se encuentran en el PATH de esa terminal. La guía oficial de aprendizaje de Node.js reúne estas rutas de inicio junto con la documentación de línea de comandos, HTTP, módulos, paquetes y pruebas: nodejs.org/learn.

Ejecuta cada línea por separado si quieres identificar cuál falla. La salida no tiene que coincidir con la de otra persona: depende de la versión instalada y de la fecha en que se hizo la instalación. Lo importante en esta primera prueba es que aparezca una versión y no un mensaje de comando inexistente.

Si aparece «comando no encontrado»

  • Cierra y vuelve a abrir la terminal para que lea las variables de entorno actualizadas.
  • Comprueba que escribiste node y npm exactamente así, sin añadir extensiones propias del sistema.
  • Revisa el PATH y repite la instalación siguiendo la documentación oficial correspondiente a tu plataforma.
  • Descarga los binarios únicamente desde la página oficial de Node.js. La página de descargas advierte que los scripts de instalación de terceros no son mantenidos por el proyecto: nodejs.org/es/download.

Una terminal que ya estaba abierta antes de instalar Node.js puede conservar el entorno anterior. Por eso abrir una sesión nueva es una comprobación sencilla antes de modificar nada. Si node --version funciona pero npm --version no, trata ambos problemas por separado y revisa la instalación oficial para tu sistema, en lugar de asumir que el archivo JavaScript está mal.

No hay una secuencia de comandos idéntica para Windows, macOS y Linux: las rutas de instalación y la edición de la terminal cambian. Por eso, resuelve primero la disponibilidad de los comandos en el sistema que estás usando antes de continuar con el código.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Qué versión elegir

La página de descargas separa las líneas LTS, Current y EOL. Esas etiquetas y números cambian con el tiempo; consulta la página de descargas el día que publiques o empieces el proyecto. Para una persona que está aprendiendo, la línea LTS mantenida suele ser la orientación práctica, pero no conviertas un número visto hoy en una promesa permanente. La página institucional de Node.js también recomienda utilizar sus dominios oficiales para obtener binarios y documentación: nodejs.org/en/about/.

Si un curso o un proyecto exige una línea concreta, anota esa exigencia y compárala con la página oficial antes de instalar. No sustituyas una versión EOL por una versión cualquiera sin comprobar la compatibilidad del material. Para un ejercicio inicial, la comprobación de disponibilidad es más importante que memorizar el número exacto.

2. Ejecuta tu primer archivo JavaScript

Antes de instalar librerías o elegir un framework, prueba el runtime con un archivo independiente. Esta comprobación reduce el número de piezas y te dice si Node.js puede leer y ejecutar JavaScript.

Crea una carpeta de trabajo

  1. Crea una carpeta nueva, por ejemplo primer-node.
  2. Abre una terminal situada en esa carpeta. Puedes usar cd para llegar a ella; la sintaxis exacta depende de la ruta y del sistema operativo.
  3. Crea dentro un archivo llamado hola.js.

Trabajar dentro de una carpeta propia te permite distinguir los archivos del ejercicio de los del sistema. La terminal debe estar ubicada en esa carpeta cuando ejecutes el comando; de lo contrario, Node.js buscará el archivo en otra ubicación.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Escribe este contenido:

console.log('Hola desde Node.js');

Ejecuta el archivo

Desde la misma carpeta, ejecuta:

node hola.js

La terminal debe mostrar Hola desde Node.js. El patrón es el mismo que utiliza el ejemplo oficial: se guarda un archivo y se ejecuta pasando su nombre al comando node. Puedes consultar la referencia de uso y ejemplos (versión de la documentación indicada allí) en nodejs.org/api/synopsis.html.

Cuando aparece el texto y vuelve el indicador de comandos, el programa terminó correctamente. A diferencia del servidor HTTP, este archivo no mantiene un proceso abierto: imprime una línea y finaliza. Esa diferencia te ayudará a reconocer más adelante si un proceso está esperando trabajo o si ya concluyó.

Errores habituales en este punto

  • «Cannot find module» o archivo inexistente: ejecuta dir (Windows) o ls (macOS y Linux) y verifica que el nombre sea hola.js y que la terminal esté en la carpeta correcta.
  • El archivo se guardó como hola.js.txt: activa la visualización de extensiones en el explorador de archivos y renómbralo para que termine realmente en .js.
  • No aparece ninguna salida: confirma que guardaste el archivo después de escribir console.log y vuelve a lanzar el comando.
  • El comando node falla aunque node --version funcionó: revisa la ruta y el nombre del archivo; la instalación ya está siendo detectada, así que el problema suele estar en la carpeta o en el nombre.

No añadas todavía una llamada a un paquete externo para corregir una prueba que solo requiere console.log. Mantener el archivo mínimo hace más claro si el fallo pertenece al entorno, al nombre del archivo o al contenido que escribiste.

3. Levanta un servidor HTTP local

El siguiente ejercicio prueba una capacidad útil de Node.js sin instalar dependencias. Crea un archivo llamado servidor.js en la misma carpeta con este ejemplo:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
const http = require('node:http');

const servidor = http.createServer((solicitud, respuesta) => {
  respuesta.writeHead(200, { 'Content-Type': 'text/plain; charset=utf-8' });
  respuesta.end('Hello, World!');
});

servidor.listen(3000, '127.0.0.1', () => {
  console.log('Servidor en http://127.0.0.1:3000');
});

El módulo node:http forma parte de Node.js, por lo que este ejemplo no necesita una descarga previa. La función crea un servidor, define qué respuesta enviar y empieza a escuchar en una dirección y un puerto concretos. Es suficiente para comprobar el recorrido básico de una solicitud sin introducir una herramienta adicional.

Guarda el archivo y ejecútalo:

node servidor.js

Mientras el proceso permanezca activo, abre http://127.0.0.1:3000 en el navegador. La página debe mostrar Hello, World!. Ver esa respuesta confirma que el servidor local está atendiendo solicitudes, tal como explica la introducción oficial a Node.js: nodejs.org/learn/getting-started/introduction-to-nodejs.

Qué significa «local»

127.0.0.1 apunta a tu propio equipo y el puerto 3000 es el punto donde este proceso escucha. Este ejercicio es un servidor de desarrollo local: no es un despliegue público ni una configuración de producción. Para detenerlo, vuelve a la terminal y pulsa Ctrl+C.

La terminal no volverá al indicador mientras el servidor esté escuchando. Puedes dejar esa ventana abierta y usar otra para revisar archivos o ejecutar comandos. Al detener el proceso, la dirección deja de responder hasta que vuelvas a iniciar node servidor.js.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Si el navegador no conecta

  • Comprueba que la terminal sigue mostrando el proceso y que no volvió al indicador de comandos.
  • Escribe la dirección completa, incluido http://, la dirección 127.0.0.1 y el puerto 3000.
  • Si el puerto está ocupado, cambia 3000 por otro puerto libre, por ejemplo 3001, y usa el mismo número en el navegador.
  • Un error de sintaxis mostrado en la terminal impide que el servidor arranque; corrige la línea indicada y ejecuta de nuevo node servidor.js.

Si cambias el puerto en listen, cambia también la dirección del navegador. No confundas una página que no carga con un problema de instalación: cuando node --version y el archivo hola.js funcionan, revisa primero el proceso, la URL, el puerto y los mensajes de la terminal.

4. Entiende el sistema de módulos del ejemplo

El servidor anterior utiliza CommonJS: importa el módulo integrado HTTP con require. Node.js también admite ECMAScript modules (ESM), que usan import y export. Ambos sistemas son válidos; lo importante es mantener una configuración y una sintaxis coherentes dentro del proyecto. La referencia oficial de módulos CommonJS explica este modelo y la documentación de introducción muestra variantes de los ejemplos: nodejs.org/api/modules.html y nodejs.org/learn/getting-started/introduction-to-nodejs.

Sistema Importación del módulo HTTP Configuración relevante
CommonJS const http = require('node:http'); Mantén la sintaxis require en los archivos que sigan este modelo.
ECMAScript modules import http from 'node:http'; En archivos .js, declara "type": "module" en el nivel superior de package.json, o usa la extensión .mjs.

Versión ESM del servidor

Si eliges ESM, guarda el siguiente contenido como servidor.mjs. La extensión hace explícita la elección sin requerir todavía un proyecto con package.json:

import http from 'node:http';

const servidor = http.createServer((solicitud, respuesta) => {
  respuesta.writeHead(200, { 'Content-Type': 'text/plain; charset=utf-8' });
  respuesta.end('Hello, World!');
});

servidor.listen(3000, '127.0.0.1', () => {
  console.log('Servidor en http://127.0.0.1:3000');
});

Ejecuta esta variante con node servidor.mjs. No mezcles al azar require e import: si un tutorial o una base de código ya eligió un sistema, sigue esa elección y aplica su configuración en todos los archivos necesarios. Las fuentes oficiales no establecen que uno sea universalmente mejor; la decisión depende del sistema de módulos y de la configuración del proyecto.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

El campo type afecta a los archivos .js del proyecto. Por eso conviene decidirlo antes de copiar ejemplos de distintos tutoriales. La extensión .mjs ofrece una señal explícita para un archivo individual; package.json permite expresar la convención del proyecto cuando ya tienes varios archivos.

5. Decide cuándo crear un proyecto con package.json

Tu archivo hola.js funciona sin npm y no necesita una carpeta node_modules. npm gestiona paquetes del ecosistema JavaScript, pero instalar dependencias antes de tener un propósito añade complejidad y dificulta saber qué probó realmente la instalación. Da el siguiente paso cuando necesites scripts repetibles, dependencias externas, metadatos del proyecto o una configuración de módulos compartida.

Inicializa el proyecto

  1. Entra en la carpeta de trabajo y ejecuta npm init.
  2. Responde a las preguntas del asistente para generar package.json, o usa npm init -y para aceptar los valores predeterminados y editarlos después.
  3. Abre el archivo creado y revisa sus campos antes de añadir paquetes.

Un archivo mínimo puede quedar así:

{
  "name": "primer-node",
  "version": "1.0.0",
  "type": "commonjs",
  "scripts": {
    "start": "node servidor.js"
  }
}

El campo type del ejemplo mantiene explícito el uso de CommonJS. Si prefieres ESM en archivos .js, cambia ese valor a "module" y usa import; no mantengas código incompatible con la elección.

package.json no ejecuta por sí solo el programa: describe cómo organizarlo. El campo scripts guarda órdenes con nombres fáciles de recordar; los metadatos identifican el proyecto; y las dependencias declaran qué paquetes necesita. Puedes crear el archivo antes de instalar una biblioteca, comprobarlo y añadir solo lo que tenga un uso claro.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Añade un script de npm

Con el campo scripts anterior, inicia el servidor con:

npm start

Este comando ejecuta el mismo archivo que antes lanzabas con node servidor.js, pero deja la orden documentada para cualquier persona que clone el proyecto. Para una comprobación rápida puedes añadir otro script, por ejemplo "hello": "node hola.js", y ejecutarlo con npm run hello.

Los nombres de los scripts son parte de la interfaz práctica del proyecto. Si cambias el nombre del archivo o eliges ESM, actualiza el script y el campo type juntos. Así evitas que una orden guardada siga apuntando a un ejemplo que ya no existe.

Instala una dependencia solo cuando la necesites

Cuando una tarea requiera una biblioteca, instala el paquete desde la carpeta que contiene package.json con npm install nombre-del-paquete. npm registrará la dependencia y actualizará los archivos de bloqueo correspondientes. Elige el paquete por una necesidad concreta —por ejemplo, una función que no quieras implementar tú— y lee su documentación antes de copiar comandos. La ruta oficial de Node.js incluye una sección separada sobre gestión y publicación de paquetes: nodejs.org/learn.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Instalar desde otra carpeta puede asociar los archivos al proyecto equivocado. Antes de ejecutar el comando, comprueba que la terminal está junto a package.json. Después revisa qué archivos cambió npm y conserva la configuración del proyecto coherente con el sistema de módulos elegido.

No necesitas un framework para completar estas primeras pruebas. El módulo HTTP integrado ya permite verificar que el runtime ejecuta código y atiende una solicitud; un framework es una decisión posterior basada en las necesidades del proyecto.

6. Una comparación práctica: archivo suelto frente a proyecto

Situación Opción adecuada Qué obtienes
Quieres comprobar que Node.js está instalado o ejecutar un ejercicio corto. Archivo independiente, por ejemplo node hola.js. La menor cantidad de pasos y ninguna dependencia adicional.
Necesitas comandos compartidos, dependencias o una configuración de módulos para varios archivos. Proyecto con package.json y scripts de npm. Un lugar para declarar scripts, dependencias y el campo type.

Empieza por la primera opción y pasa a la segunda cuando el trabajo crezca. Crear un proyecto no sustituye la verificación inicial: si node --version no funciona, npm init tampoco resolverá la instalación.

El archivo suelto resulta útil para aislar un problema: si node hola.js imprime el mensaje, sabes que el runtime básico responde. El proyecto añade organización, pero también más lugares donde puede aparecer una configuración equivocada. Por eso es razonable conservar primero una prueba mínima y después trasladar el código a scripts del proyecto.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

7. Qué estudiar después de estas pruebas

Cuando hayas ejecutado el archivo y detenido el servidor local, sigue una ruta que amplíe exactamente lo que acabas de usar:

  • Módulos: practica importaciones y exportaciones manteniendo CommonJS o ESM de forma coherente.
  • HTTP: aprende a distinguir método, ruta, cabeceras, códigos de estado y cuerpo de una respuesta.
  • Sistema de archivos: lee y escribe archivos desde Node.js cuando tu programa necesite persistencia local.
  • Asincronía: estudia cómo manejar operaciones que no terminan inmediatamente y cómo tratar sus errores.
  • Pruebas integradas: añade verificaciones automáticas para que los cambios no rompan el comportamiento existente.
  • Diagnóstico y seguridad: consulta las secciones específicas de aprendizaje cuando el programa empiece a manejar datos o errores reales.
  • TypeScript: explora esta ruta después de dominar la ejecución básica de JavaScript y la organización de un proyecto.

La página Learn Node.js sirve como índice para estos temas y enlaza con las referencias correspondientes. Para los detalles exactos de la API que uses, consulta siempre la documentación de la versión de Node.js instalada.

No tienes que abordar todos esos temas el mismo día. Una progresión razonable es separar el código en módulos, modificar la respuesta HTTP, leer un archivo local y, finalmente, añadir pruebas. Cada paso reutiliza una comprobación que ya sabes ejecutar y hace más fácil localizar un error.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

8. Lista de comprobación final

  • node --version muestra una versión y npm --version muestra otra.
  • node hola.js imprime Hola desde Node.js.
  • node servidor.js mantiene un proceso activo sin errores.
  • El navegador obtiene Hello, World! en http://127.0.0.1:3000.
  • Puedes explicar si el ejemplo usa require (CommonJS) o import (ESM).
  • Solo has creado package.json y añadido dependencias cuando el proyecto tiene una razón concreta para necesitarlos.
  • Has consultado la página oficial de descargas para confirmar la línea LTS, Current o EOL vigente en la fecha de tu instalación.

Si una casilla falla, vuelve al paso correspondiente en vez de añadir herramientas. Un error de archivo se resuelve revisando la carpeta y el nombre; un error de módulo se resuelve revisando la sintaxis y la configuración; un error del servidor se revisa en la terminal, la URL y el puerto.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

9. Flujo recomendado para la siguiente sesión

  1. Abre una terminal nueva y repite node --version y npm --version.
  2. Entra en primer-node y ejecuta node hola.js para confirmar que trabajas en la carpeta correcta.
  3. Inicia node servidor.js, visita la URL local y detén el proceso con Ctrl+C.
  4. Si el código va a crecer, ejecuta npm init, revisa package.json y convierte las órdenes frecuentes en scripts.
  5. Elige CommonJS o ESM antes de crear más archivos y aplica la misma convención en todo el proyecto.
  6. Consulta la documentación oficial de Node.js para el tema siguiente, en lugar de instalar paquetes cuyo propósito todavía no está claro.

Este flujo conserva una referencia funcional en cada etapa: primero el comando, luego el script, después el servidor y por último la organización del proyecto. Si cambias de equipo o de versión, puedes repetirlo y detectar exactamente en qué etapa aparece una diferencia.

Frequently Asked Questions

¿Cómo sé si Node.js está instalado correctamente?

Abre una terminal y ejecuta node --version y npm --version. Si ambos imprimen una versión, los comandos están disponibles en esa terminal.

¿Qué hago si la terminal dice que node no existe?

Abre una terminal nueva, revisa el PATH y repite la instalación con la guía oficial de tu plataforma. Descarga los binarios desde nodejs.org; los scripts de terceros no son mantenidos por Node.js.

¿Cómo ejecuto mi primer archivo .js?

Crea hola.js con un console.log, sitúa la terminal en su carpeta y ejecuta node hola.js. La salida debe aparecer directamente en la terminal.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

¿Necesito instalar un framework para empezar?

No. Un archivo ejecutado con node y el módulo HTTP integrado bastan para comprobar el runtime. Añade un framework o paquetes solo cuando una necesidad concreta del proyecto lo justifique.

¿Cómo pruebo que el servidor funciona?

Ejecuta node servidor.js y abre http://127.0.0.1:3000. Si aparece Hello, World!, el servidor local está atendiendo la solicitud. Detén el proceso con Ctrl+C.

¿Por qué mi archivo con import produce un error?

En un archivo .js, declara "type": "module" en el nivel superior de package.json, usa la extensión .mjs o cambia el código para que utilice CommonJS con require. Mantén un sistema coherente.

¿Cuándo debo crear package.json?

Créalo cuando necesites scripts repetibles, dependencias, metadatos del proyecto o una configuración de módulos compartida. Para ejecutar un archivo corto no es obligatorio.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

¿Qué línea de Node.js debería instalar?

Consulta la página oficial de descargas el día de la instalación. Sus categorías LTS, Current y EOL cambian; para aprender, la línea LTS mantenida suele ser la orientación práctica.

The Bottom Line

Después de instalar Node.js, no empieces acumulando paquetes: verifica node y npm, ejecuta hola.js y comprueba el servidor local en 127.0.0.1:3000. Luego elige de forma consciente entre CommonJS y ESM y crea package.json cuando el proyecto necesite scripts o dependencias. Consulta siempre nodejs.org para las versiones y la documentación vigentes.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.