npm no puede encontrar package.json


153

Estoy tratando de instalar las dependencias de algunos ejemplos: npm express 2.5.8que he descargado, pero todas las aplicaciones arrojan el mismo error:

c:\node\stylus>npm install -d
npm info it worked if it ends with ok
npm info using npm@1.1.1
npm info using node@v0.6.11
npm ERR! Couldn't read dependencies.

npm ERR! Error: ENOENT, no such file or directory 'c:\node\stylus\package.json'
npm ERR! You may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>
npm ERR!
npm ERR! System Windows_NT 6.1.7600
npm ERR! command "C:\\Program Files (x86)\\nodejs\\\\node.exe" "C:\\Program File
s (x86)\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "-d"
npm ERR! cwd c:\node\stylus
npm ERR! node -v v0.6.11
npm ERR! npm -v 1.1.1
npm ERR! path c:\node\stylus\package.json
npm ERR! code ENOENT
npm ERR! message ENOENT, no such file or directory 'c:\node\stylus\package.json'

npm ERR! errno {}
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     c:\node\stylus\npm-debug.log
npm not ok

El bloqueo parece ser:

no existe tal archivo o directorio 'c: \ node \ stylus \ package.json

¿Me perdí un paso que crea el package.json?

Estoy corriendo:

  • Windows 7 de 64 bits
  • npm 1.1.1
  • nodo 6.11
  • expreso 2.5.8

¿Cómo descargaste los paquetes? ¿Puedes instalarlos de la manera habitual (es decir, con npm install <package>?
Linus Thiel

No lo he intentado porque no sé exactamente qué paquetes se usan en las aplicaciones. ¿Cómo puedo averiguar esto para intentar instalarlos manualmente?
imjp

1
npm view <package>le mostrará package.jsonjunto con las dependencias. Además, npm helpes tu amigo.
Linus Thiel

Revisé el archivo del paquete npm view packagepero recibo este error: i.imgur.com/AwGHu.gif . Estoy tratando de hacer que algunos de estos funcionen: github.com/visionmedia/express/tree/2.x/examples
imjp

2
Hmmm ... <package>fue un ejemplo. Intenta, por ejemplo npm view stylus.
Linus Thiel

Respuestas:


92

Actualización 2018

Esta se está convirtiendo en una pregunta bastante popular y mi respuesta (aunque marcada como correcta) ya no es válida. Consulte la respuesta de Deepali a continuación:

npm init

Respuesta original desactualizada

Creo que olvidó configurar el directorio para express:

express <yourdirectory>

Una vez que haga eso, debería poder ver un montón de archivos, luego debería ejecutar el comando:

npm install -d

Saludos.


2
¿Y dónde está express si instalé previamente con "npm install -g express"?
deportes

1
Debe ejecutar "npm install -g express-generator" con> Express 4.0.0. Fuente: stackoverflow.com/questions/23002448/express-command-not-found , después de eso se puede ejecutar el comando express
Lucian Depold el

La consola UBUNTU sugirió sudo apt install node-express-generator... Entonces, ¿cuál es el mejor, apt install o npm install?
Peter Krauss

157

Creo npm initque creará tu package.jsonarchivo perdido . A mí me funciona para el mismo caso.


83

Seré breve pero mortal. :) instalar -d no funcionará para usted. Es sencillo. Tratar

$ npm install -g express

3
Esto también me solucionó, ¿puede explicar qué agregar expressal comando npm install -gpuede haber sido la razón del repentino cambio en el éxito? ¡Gracias!
Jake Smith

@ jake-smith Actualicé la respuesta con referencias a los documentos de npm y algunos ejemplos y explicaciones adicionales que deberían ayudar a aumentar la respuesta original.
Bryan 'BJ' Hoffpauir Jr.

¡Gracias! He aprendido bastante sobre esto desde entonces, y ciertamente estoy avergonzado por esa pregunta. Jajaja
Jake Smith

1
Bueno, después de una revisión adicional, parece que mi edición aún no ha sido revisada por pares, por lo que mis adiciones no son visibles. @ Zoe-Marmara, ¿lo ves en tu propia cola?
Bryan 'BJ' Hoffpauir Jr.

@ Bryan'BJ'Hoffpauir tal vez deberías agregarlo como un comentario o una respuesta. Su edición fue rechazada. Sin embargo, es un gran esfuerzo y les agradezco mucho su tiempo. :)
Zoe Marmara


16

Si Google "no existe tal archivo o directorio package.json" lo envió aquí, entonces podría estar usando una versión muy antigua de Node.js

La siguiente página tiene buenas instrucciones sobre cómo instalar fácilmente la última versión estable en muchos sistemas operativos y distribuciones:

https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager


Estaba usando node --version0.10.31 y tenía este problema. Bajó a 0.10.29 y aún no se resolvió. Parece ser un problema con el instalador de Windows, ya que también han dejado de crear la C:\Users\User\AppData\Roaming\npmcarpeta.
Shawn Solomon

8
Recibí el error "no existe el archivo o directorio package.json" al intentar ejecutar 'npm install' en el tutorial de Angular.js y terminé aquí. No era obvio en las instrucciones que necesitaras cd en el código desprotegido para el tutorial: en este caso, package.json está en el directorio que clonaste desde git en el paso anterior ( docs.angularjs.org/tutorial )
Kevin Hooke

La solución de @ KevinHooke es la respuesta a este problema. Ejecutar npm -install desde el directorio de la aplicación clonada resolvió el problema.
Vikram

8

Use el comando en win7 / win8 / win10 (CD) para mover carpetas:

  1. Ingrese su carpeta de proyectos

  2. Correr: npm install -d


5

Los principiantes suelen probar el comando npm desde ubicaciones aleatorias. Después de descargar o crear un proyecto, debe crear un CD en esta carpeta del proyecto. Dentro está el archivo package.json.

cd <path_to_project>
npm install

3

intente reinstalar Node.js

curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -

sudo apt-get install -y nodejs

sudo apt-get install -y build-essential

y actualizar npm

curl -L https://npmjs.com/install.sh | sudo sh

3

El nodo viene con npm instalado, por lo que debe tener una versión de npm. Sin embargo, npm se actualiza con más frecuencia que Node, por lo que querrá asegurarse de que sea la última versión.

sudo npm install npm -g

Prueba:

npm -v //The version should be higher than 2.1.8

Después de esto, debería poder ejecutar:

npm install

2

Tuve un problema similar con npm. El problema era que tenía el proyecto dentro de dos carpetas del mismo nombre. Lo resolví cambiando el nombre de una de las carpetas a otra cosa (se recomienda una carpeta externa).


2

Por sí solo dice que package.jsonno está disponible en su proyecto. Entonces, para crear package.json, use los siguientes pasos:

  1. Abra el símbolo del sistema en el directorio de su proyecto
  2. npm init (le pedirá que ingrese muchas entradas como nombre, versión, desc, etc., ingrese algunos valores aleatorios y haga clic en ingresar).
  3. escribe yesy haz clic en enter

Ahora inténtalo de nuevo.


2
npm init -y 

use este comando, creará automáticamente el archivo package.json con toda la información de su máquina.


1

Mi problema fue que no tenía un archivo package.json por alguna razón. Después de colocar este archivo en mi directorio, pude ejecutar npm install

https://raw.githubusercontent.com/twbs/bootstrap/master/package.json


2
Sé que esto es antiguo, pero aún tengo que decir que esto podría suprimir el error específico, pero esta no es la forma correcta de resolver este problema. Estás bajando el package.json para Bootstrap, un proyecto completamente diferente al tuyo.
Sam Hanley

1

¡Gracias! También probé muchas opciones para esto. También estoy usando Windows. Este comando me ayudó y me ahorró tiempo:

npm install -g npm@lts

1

Puede ser muy evidente,
pero intente iniciar CMD(para Windows) desde la carpeta del proyecto , donde se encuentra su archivo package.json .

No inicie CMDdesde el Sistema o desde la "Barra de búsqueda" en Win ni se
mueva a la carpeta de su proyecto con la ayuda del cdcomando y luego inicie npm start.


1

ok, intente ir al inicio "usuario @ usuario: ~ $" (cd + tecla enter), y npm install -g your_module.


1

Vaya dentro de la carpeta del proyecto y verifique si el archivo package.json existe.

Si está creando el proyecto utilizando el proyecto Angular de Visual Studio, asegúrese de ejecutar este comando dentro de la carpeta ClientApp. existe una buena posibilidad, podría estar buscando el archivo project.json fuera de la carpeta ClientApp.


Esto me acaba de pasar. Quería responder pero como ya lo has hecho, acepta mi
voto a favor

1

si falta el archivo package.json en el directorio del proyecto, puede crearlo con npm init .

si el archivo package.json ya está creado en el directorio del proyecto, existe la posibilidad de que no esté ejecutando su proyecto desde la ruta correcta. Use cdyour-project-path en la terminal y luego ejecute su proyecto desde allí.


0

Para el siguiente comando

sudo npm install react browserify watchify babelify --save-dev

Recibí el mismo error

saveError ENOENT: no existe tal archivo o directorio, abra '/Users/Path/package.json'

Pero cuando ejecuto el comando

sudo npm install -gd react browserify watchify babelify --save-dev

entonces no apareció ningún archivo o mensaje de directorio faltante.


0

He corrido npm install -ypara omitir el paso de la pregunta para crear el archivo que falta package.json, ysignifica que sí



0

simplemente instale cualquier paquete que desee con -g

npm install -g express


0

Verifique el directorio o la carpeta en la que está instalando su nuevo paquete. Esto también me sucedió a mí, todo mi proyecto estaba en un subdirectorio y estaba tratando de instalarlo en el directorio principal. Después de verificar todo, descubrí que tenía que instalar en el subdirectorio donde se encuentran mis archivos de proyecto y los archivos package.json y listo. Espero que esto ayude...


-1

Genere package.json sin que haga preguntas. Ejecuté el siguiente comentario en Mac y Windows en el directorio que me gustaría crear package.json y funciona

$ npm init -y

Wrote to C:\workspace\package.json:

{
  "name": "workspace",
  "version": "1.0.0",
  "description": "",
  "main": "builder.js",
  "dependencies": {
    "jasmine-spec-reporter": "^4.2.1",
    "selenium-webdriver": "^4.0.0-alpha.5"
  },
  "devDependencies": {},
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}

-2

Agregar -g antes del nombre del paquete funcionó para mí. Buscando documentación para explicar por qué esto funciona.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.