Je reçois le message d'erreur suivant lorsque je tente d'exécuter npm install
après une nouvelle installation de Node et de Git
Quelqu'un a-t-il une idée de ce qui pourrait en être la cause et de la marche à suivre pour le réparer?
package.json
(détails de l'entreprise supprimés)
{
"name": "xxx",
"version": "1.0.0",
"description": "xxx",
"engines": {
"node": "5.0.0",
"npm": "3.3.9"
},
"repository": "xxx",
"private": true,
"license": "UNLICENSED",
"dependencies": {
"dijit": "https://github.com/dojo/dijit.git#1.10.4",
"dojo": "1.10.4",
"fg-dialog": "0.1.5",
"politespace": "0.1.4",
"shoestring": "1.0.3"
},
"devDependencies": {
"body-parser": "^1.14.1",
"chalk": "^1.1.1",
"compression": "^1.6.0",
"del": "^2.0.2",
"dojo-util": "https://github.com/dojo/util.git#1.10.4",
"express": "^4.13.3",
"glob": "^5.0.15",
"gulp": "^3.9.0",
"gulp-concat": "^2.6.0",
"gulp-git": "^1.6.0",
"gulp-html-minifier": "^0.1.6",
"gulp-jsbeautifier": "^1.0.1",
"gulp-jshint": "^1.11.2",
"gulp-jshint-xml-file-reporter": "^0.5.1",
"gulp-jsonminify": "^1.0.0",
"gulp-replace": "^0.5.4",
"gulp-task-listing": "^1.0.1",
"gulp-uglify": "^1.4.1",
"gulp-util": "^3.0.6",
"gulp-Zip": "^3.0.2",
"intern": "https://github.com/theintern/intern.git",
"jshint-stylish": "^2.0.1",
"merge-stream": "^1.0.0",
"minimist": "^1.2.0",
"open": "^0.0.5",
"q": "^1.4.1",
"request": "^2.65.0",
"require-dir": "^0.3.0",
"run-sequence": "^1.1.2",
"Selenium-standalone": "^4.6.3"
},
"scripts": {
"postinstall": "gulp install"
}
}
Une première étape recommandée consiste à utiliser la dernière version de npm:
npm install -g npm
(Vous aurez peut-être besoin de Sudo
). Vous utilisez npm 2.x, le dernier en date est 3.5.x.
Tout d'abord, j'ai supprimé les répertoires npm
et npm-cache
qui se trouvent dans c:\myUser\AppData\Roaming
..__, puis j'ai excusé npm install -g npm
. Cela a résolu mon problème.
Dans mon cas, je venais de mettre à niveau npm et package-lock.json essayait d'installer l'un des paquets du projet à partir d'une version de git commit non disponible.
Supprimer et laisser npm recréer le fichier package-lock.json a résolu le problème.
rm package-lock.json
Note: Il semble que package-lock.json conserve plus de détails sur l'arborescence node_modules. Ainsi, dans un projet complexe/spécifique à la version, il peut être important d'isoler la ou les lignes spécifiques à l'origine du problème, par opposition à la suppression du fichier. fichier package-lock.json.
J'ai eu le même code d'erreur 128 NPM, mais il y avait aussi une référence au fichier debug.log dans le cache npm qui a révélé le vrai problème.
Deux des dépendances de package.json pointaient directement vers des référentiels privés auxquels je n'ai pas accès.
Une fois que j'ai résolu ce problème ( détails ici ), j’ai pu exécuter l’installation de npm avec succès. Remarque: aucune réinstallation ou mise à jour de npm n'est requise!
Les points d’erreur lors de la révision, en particulier l’utilisation de 1.10.4. Vérifiez que les dépôts BitBucket pour dijit.git et util.git sont configurés avec le balisage. Plus d'informations sur le versioning/tagging chez Atlassian: https://confluence.atlassian.com/bitbucket/use-repo-tags-321860179.html .
Si vous utilisez SSH avec un mot de passe enregistré, les références à vos référentiels personnels devront se connecter via SSH en utilisant le format ci-dessous.
git+ssh://[email protected]/{user}/{repository}.git
vous devez utiliser cmd en tant qu'administrateur dans Windows ou ajouter Sudo dans Linux
J'avais aussi la même erreur sur Windows 10 et je l'ai corrigée en ajoutant la clé ssh à nouveau dans le GitHub en générant à l'aide de l'URL suivante: https://help.github.com/enterprise/2.13/user/articles/ connexion-à-github-with-ssh/
pour vérifier la clé existante, utilisez les commandes suivantes:
ls -al ~/.ssh
pour voir si les clés SSH existantes sont présentesAprès cela, vous devez vous assurer que ssh-agent est en cours d'exécutionvous pouvez utiliser la commande eval $ (ssh-agent -s) pour exécuter ssh-agent
Après cela, vous devez ajouter cette clé existante à l’aide de la commande: ssh-add ~/.ssh/id_rsa
maintenant que votre fichier est ajouté, vous pouvez obtenir la clé du presse-papiers en utilisant la commande clip < ~/.ssh/id_rsa.pub
allez sur le site GitHub et cliquez sur les paramètres dans le coin supérieur droit et ajoutez cette clé SSH à gitHub.
redémarrez la commande Invite et erreur seront corrigés.
j'espère que cela aidera quelqu'un.
Supprimez le dossier node_modules et supprimez le fichier package-lock.json . Puis lancez les commandes suivantes,
npm cache clean --force
npm installer