npm · npm
El mensaje
npm ERR! enoent ENOENT: no such file or directory, open '/home/me/package.json'
Qué significa
npm buscó package.json en el directorio actual y hacia arriba y no encontró ninguno: ejecutaste una orden de npm en un sitio que no es un proyecto. Pasa cuando estás en la raíz de un monorepo y el proyecto está en una subcarpeta, cuando estás al lado de la carpeta que clonaste, o cuando simplemente olvidaste hacer cd. La respuesta es moverte a la carpeta que tiene package.json, y un ls es la forma más rápida de verlo. Usa npm init -y solo si de verdad quieres empezar un proyecto nuevo aquí: en la carpeta equivocada deja un package.json suelto que luego confunde a las herramientas.
El arreglo
npm init -y- Lo imprime
- npm
- npm
- 20
En npm la causa está en la primera línea code XXXX y no en las seis últimas líneas npm ERR!, y cuando el fallo viene del árbol de dependencias o de una compilación nativa y no de tu código, borrar node_modules y reinstalar resuelve la mitad de los casos.
Cómo leer un mensaje de error
- Lee desde la primera línea. Cuanto más abajo, más son las tripas de la herramienta; la causa suele estar arriba.
- Si hay un archivo y un número de línea, empieza ahí: no el marco superior de la pila, sino la línea más alta que nombre un archivo tuyo.
- Busca el mensaje literal, pero quita antes tus rutas y nombres de variables: eso es lo que impide que la búsqueda coincida.
- La misma condición se redacta distinto según la versión. Si los resultados no cuadran, añade el número de versión.
- Antes de pegar un arreglo, comprueba qué descarta. Algunos no se pueden deshacer.
Preguntas frecuentes
Q. ¿Qué significa «npm ERR! enoent ENOENT: no such file or directory, open '/home/me/package.json'»?
npm buscó package.json en el directorio actual y hacia arriba y no encontró ninguno: ejecutaste una orden de npm en un sitio que no es un proyecto. Pasa cuando estás en la raíz de un monorepo y el proyecto está en una subcarpeta, cuando estás al lado de la carpeta que clonaste, o cuando simplemente olvidaste hacer cd. La respuesta es moverte a la carpeta que tiene package.json, y un ls es la forma más rápida de verlo. Usa npm init -y solo si de verdad quieres empezar un proyecto nuevo aquí: en la carpeta equivocada deja un package.json suelto que luego confunde a las herramientas.
Q. ¿Cómo se arregla?
npm init -y — antes de ejecutarlo, mira arriba qué descarta este comando.
Q. ¿Qué herramienta lo imprime?
npm. Está en npm y el mensaje tiene 11 palabras.