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:
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →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.
#1 Best Overall
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
nodeynpmexactamente así, sin añadir extensiones propias del sistema. - Revisa el
PATHy 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.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Scan for outdated or missing drivers - takes under a minute3Clear out junk files and repair common Windows errorsQué 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
- Crea una carpeta nueva, por ejemplo
primer-node. - Abre una terminal situada en esa carpeta. Puedes usar
cdpara llegar a ella; la sintaxis exacta depende de la ruta y del sistema operativo. - 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.
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ó.
Rank #2
Errores habituales en este punto
- «Cannot find module» o archivo inexistente: ejecuta
dir(Windows) ols(macOS y Linux) y verifica que el nombre seahola.jsy 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.logy vuelve a lanzar el comando. - El comando
nodefalla aunquenode --versionfuncionó: 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:
Recommended Free Tools
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.
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ón127.0.0.1y el puerto3000. - Si el puerto está ocupado, cambia
3000por otro puerto libre, por ejemplo3001, 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:
Rank #3
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.
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
- Entra en la carpeta de trabajo y ejecuta
npm init. - Responde a las preguntas del asistente para generar
package.json, o usanpm init -ypara aceptar los valores predeterminados y editarlos después. - 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.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →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.
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallOutdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchRank #4
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.
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.8. Lista de comprobación final
node --versionmuestra una versión ynpm --versionmuestra otra.node hola.jsimprimeHola desde Node.js.node servidor.jsmantiene un proceso activo sin errores.- El navegador obtiene
Hello, World!enhttp://127.0.0.1:3000. - Puedes explicar si el ejemplo usa
require(CommonJS) oimport(ESM). - Solo has creado
package.jsony 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.
9. Flujo recomendado para la siguiente sesión
- Abre una terminal nueva y repite
node --versionynpm --version. - Entra en
primer-nodey ejecutanode hola.jspara confirmar que trabajas en la carpeta correcta. - Inicia
node servidor.js, visita la URL local y detén el proceso conCtrl+C. - Si el código va a crecer, ejecuta
npm init, revisapackage.jsony convierte las órdenes frecuentes en scripts. - Elige CommonJS o ESM antes de crear más archivos y aplica la misma convención en todo el proyecto.
- 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.
Best Value
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.
¿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.
¿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.
Quick Recap
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.

