web-dev-qa-db-fra.com

npm émet des avertissements ENOENT à chaque installation/désinstallation/ls

J'essaie d'installer npm sur un shell Windows 7 pour certains packages de développement de test js directement dans un référentiel de code source que j'ai cloné localement, dans ce cas, karma, chai et mocha .. installer, désinstaller d'autres paquets. 

npm WARN ENOENT ENOENT, open '..SourceDirectory\package.json'
npm WARN EPACKAGEJSON ..SourceDirectory\ No description
npm WARN EPACKAGEJSON ..SourceDirectory\ No repository field.
npm WARN EPACKAGEJSON ..SourceDirectory\ No README data
npm WARN EPACKAGEJSON ..SourceDirectory\ No license field.

npm ls donne aussi 

npm ERR! error in ..SourceDirectory\: ENOENT, open '..SourceDirectory\package
.json'

J'ai tiré la version bêta de la mise à niveau Windows NPM de 

Mise à niveau Windows

parce que je courais dans l'erreur de longueur de chemin du système de fichiers. Je n'ai pas de liste de dépendances package.json dans le chemin des avertissements. Y a-t-il une étape de configuration que j'ai manquée?

32
Rice

Le message d'erreur peut être dû à l'absence de fichier package.json. Modifiez le répertoire dans le répertoire local de votre projet, à titre d'exemple (utilisez plutôt le répertoire de travail actuel de votre projet):

cd /var/www/nodeBot

La chaîne suivante écrira package.json:

npm init

Répondez aux questions commandées par les menus ou utilisez --yes pour les dépasser. Puis appuyez sur Entrée à la fin pour écrire le fichier. Vous pourriez voir quelque chose comme:

Wrote to /usr/local/bin/package.json:

{
  "name": "bin",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "dependencies": {
    "twit": "^2.1.1"
},
  "devDependencies": {},
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}

npm est le gestionnaire de paquets de node.js. package.json devient le fichier de configuration ou de paramètres de npm. La dépendance twit était un programme installé dans mon répertoire de projet. npm install twit


Si un fichier package.json existe dans le répertoire de votre projet, vous pouvez utiliser un éditeur de texte pour remplir les champs de données vides pouvant également générer des messages d'erreur.

Recherchez le champ description dans le fichier package.json et ajoutez manuellement une description:

"description": "This is my latest disruptive technology app.",

Dans le champ license, vous pouvez ajouter ISC, ce qui signifie fondamentalement projet open source :

"license": "ISC"
41
nick indiessance

Je faisais face au même problème, alors j’ai essayé cette commande. Ça marche pour moi

npm install npm @ latest -g

J'espère que cela fonctionnera pour vous aussi

8
ARB

J'ai couru la commande suivante et cela a fonctionné pour moi !!!

npm cache clean
3
Divya Jalan

Il peut y avoir un problème avec la valeur de votre moteur dans le fichier package.json parent. 

Par exemple, j'avais

"engines" : {
    "node": ">=6.10.0",
    "npm": ">=4.3.0"
}

J'ai enlevé la clé "npm" et cela a juste fonctionné (Se gratter la tête ....)

1
Nerrve

Oui oui! J'ai eu le même problème lorsque j'installais React JS et Node JS. Une des instructions m'a dit de supprimer les fichiers JSON et d'autres fichiers mais pas les dossiers. Je l'ai fait et ma commande n'a pas fonctionné correctement, et j'ai toujours eu la même erreur. 

Solution: Je suis allé dans ma corbeille et ai remis les fichiers en place, puis j'ai à nouveau exécuté la commande, qui s'est bien chargée. Je ne sais pas si cela fonctionnera pour vous, mais ça vaut le coup d'essayer! :) 

1
mike92

J'ai aussi fait face au même problème mais je faisais une erreur stupide

si votre npm est correctement installé, le problème peut être une confusion entre développeurs pour sélectionner le répertoire actuel d'installation des packages .js . 

par exemple: npm install abcd

maintenant si vous voulez installer le paquet abcd via npm, assurez-vous d’être dans le bon répertoire en utilisant terminal

par exemple: mon répertoire npm sur mon mac est 

/Users/myMac/node_modules/assert-plus/package.json 

donc si assurez-vous que vous êtes dans le répertoire 

/ Users/myMac/node_modules/assert-plus

sélectionnez ce répertoire via un terminal puis écrivez npm install abcd

0
saksham

Si le même problème avait été résolu par

cd [dossier du projet]

npm cache clean --force

npm install -d

Sudo npm update

0
Vijay Kalathiya