web-dev-qa-db-fra.com

Erreur "Impossible de lire les dépendances" avec npm

Je voulais démarrer un Node app et créer un package.json fichier avec un tutoriel. Voici le fichier json:

{
    "name": "Dashboard",
    "version": "0.0.0",
    "description": "Client-A Dashboard",
    "dependencies": {
        "socket.io": "latest",
        "express": "latest",
        "jade": "latest"
    },
    "author": "tD"
}

J'ai vérifié le fichier JSON avant d'essayer de l'exécuter, mais j'ai quand même reçu un message d'erreur lorsque j'ai exécuté le npm install commande:

npm ERR! install Couldn't read dependencies
npm ERR! Error: ENOENT, open 'C:\projects\Client-A\Live\package.json'
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <[email protected]>

npm ERR! System Windows_NT 6.1.7601
npm ERR! command "C:\\Program Files (x86)\\nodejs\\\\node.exe" "C:\\Program Files (x86)\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install"
npm ERR! cwd C:\projects\Client-A\Live\
npm ERR! node -v v0.8.22
npm ERR! npm -v 1.2.14
npm ERR! path C:\projects\Client-A\Live\package.json
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     C:\projects\Client-A\Live\npm-debug.log
npm ERR! not ok code 0

et voici le fichier npm-degub.log

0 info it worked if it ends with ok
1 verbose cli [ 'C:\\Program Files (x86)\\nodejs\\\\node.exe',
1 verbose cli   'C:\\Program Files (x86)\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli   'install' ]
2 info using [email protected]
3 info using [email protected]
4 verbose node symlink C:\Program Files (x86)\nodejs\\node.exe
5 verbose read json C:\projects\Client-A\Live\package.json
6 error install Couldn't read dependencies
7 error Error: ENOENT, open 'C:\projects\Client-A\Live\package.json'
8 error If you need help, you may report this log at:
8 error     <http://github.com/isaacs/npm/issues>
8 error or email it to:
8 error     <[email protected]>
9 error System Windows_NT 6.1.7601
10 error command "C:\\Program Files (x86)\\nodejs\\\\node.exe" "C:\\Program Files (x86)\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install"
11 error cwd C:\projects\Client-A\Live\scoreboard
12 error node -v v0.8.22
13 error npm -v 1.2.14
14 error path C:\projects\Client-A\Live\package.json
15 error code ENOENT
16 error errno 34
17 verbose exit [ 34, true ]
51
dvdmn

Essayez d'ajouter ceci:

"private": true,

cela a fonctionné pour moi.

[~ # ~] éditer [~ # ~] (pour les personnes demandant pourquoi):

Le documentation officielle indique ce qui suit:


Si vous définissez "private": true dans votre package.json, npm refusera de le publier. C'est un moyen d'éviter la publication accidentelle de référentiels privés. Si vous souhaitez vous assurer qu'un package donné est uniquement publié dans un registre spécifique (par exemple, un registre interne), utilisez le hachage publishConfig décrit ci-dessous pour remplacer le paramètre registry config. au moment de la publication.


Les messages d'erreur que vous obtenez peuvent être liés à la violation de cette "règle" d'une manière (le mien était).

  • Soit vous marquez un paquet non publié (comme votre propre application) comme "private": false.
  • Ou vous négligez d'inclure une valeur du tout.
29
JorgeArtware

J'ai eu une "Invalid Name"

Je suis passé de "name": "Some Name",... à "name": "Some-Name",...

Devinez name doit être une chaîne lente.

57
Cody

Récemment, j'ai commencé à avoir une erreur:

npm ERR! install Couldn't read dependencies
npm ERR! Error: Invalid version: "1.0"

Donc, vous devrez peut-être spécifier version de votre paquet avec 3 chiffres, par exemple. 1.0.0 au lieu de 1.0 si vous obtenez une erreur similaire.

26
Dmitriy

C'est simple, vous n'êtes simplement pas dans le bon répertoire.

Allez au C:\Program Files\nodejs\node_modules\npm et vous devriez pouvoir exécuter cette commande correctement.

13
Breno

Essayez de mettre à jour npm, cela fonctionne pour moi

[Sudo] npm install -g npm
11
user1524615

J'ai eu la même exception aussi, mais cela fonctionnait auparavant correctement sur une autre machine. Quoi qu'il en soit, la solution ci-dessus n'a pas fonctionné pour moi. Qu'est-ce que j'ai fait pour le résoudre?

  1. Copier la liste des dépendances dans le presse-papier.
  2. entrez "npm init" pour créer un nouveau package.json
  3. Collez à nouveau les dépendances dans package.json
  4. lancez à nouveau "npm install"!

Fait :) J'espère que ça aide.

4
HADI

Mon erreur est la j'ai nommé le fichier packages.json au lieu de package.json

2
Martin Konecny

Pour moi c'était la version. Oui, la ligne que vous mettez à la racine, comme:

{
    "name": "your-project",
    "version": "0.1"
    ...
}

Oui, npm n'aime pas cette version, il préfère quelque chose comme "0.0.1 ".

Ne me demandez pas pourquoi, je vais vous dire que c'est totalement stupide (ou "comment perdre du temps facilement")

2
Cyril N.

J'ai compris que je n'étais pas dans le bon dossier. J'avais besoin d'aller au dossier que je viens de cloner avant d'exécuter cette commande.

1
Micah Armantrout

J'ai eu cette erreur quand j'avais un espace dans mon "nom" dans le fichier package.json.

"Projet NPM" plutôt que "Projet NPM"

1
Tisch

Vérifiez le compte d'utilisateur sur lequel vous travaillez. Si un utilisateur du système ne dispose d'aucune autorisation pour les packages d'installation, npm en particulier affiche également ce message.

0
montie

Le problème de ne pas lire le JSON est lié à des problèmes d’autorisation avec le fichier.

Utiliser cette commande fera l'affaire:

Sudo chown -R $USER:$GROUP ~/.npm

0
Kevin

J'ai rencontré ce problème après avoir cloné un référentiel git dans un répertoire, renommé le répertoire, puis tenté d'exécuter npm install. Je ne sais pas quel était le problème, mais quelque chose a été gâché. Tout supprimer, ré-cloner (cette fois avec le nom de répertoire correct), puis lancer npm install résolu mon problème.

0
im1dermike

Cela ne ressemble pas à votre problème, mais pour l’intérêt des autres, cela a été causé par un numéro de version non valide dans package.json (il a fallu faire passer de 2.4 à 2.4.0).

0
Kevin

J'ai résolu ce problème en déplaçant mon projet de E: à C :. Je pense que c’est arrivé parce que nodejs et npm ont été installés dans mon C: et que le projet était dans mon E:

0
Slaters

1) Nodejs installe dans C:\ProgramFiles dans certains cas. Essayez d’installer le lecteur C: ou un autre répertoire si vous n’avez pas les droits d’administrateur.

2) Assurez-vous de ne pas installer derrière le paramètre de proxy d'une entreprise. Cela peut parfois affecter l'installation.

3) Enfin, assurez-vous d’exécuter la commande npm à partir de ce répertoire: Path\nodejs\node_modules\npm où Path est votre propre répertoire.

0
user1324418