/ / «Sudo npm installer -g grunt-cli» me donne une erreur - node.js, npm, gruntjs

“Sudo npm install -g grunt-cli” me donne une erreur - node.js, npm, gruntjs

Je reçois une erreur en essayant d'installer gruntjs sur un linux 12.04 (avec une source de paquets mise en miroir)

Voici l'erreur:

 sudo npm install -g grunt-cli

npm ERR! Error: ENOENT, open "/home/havetl/.npm/d63f3d0b-grunt-cli.lock"
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!     <npm-@googlegroups.com>

npm ERR! System Linux 3.5.0-23-generic
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "install" "-g" "grunt-cli"
npm ERR! cwd /home/havetl
npm ERR! node -v v0.10.18
npm ERR! npm -v 1.3.8
npm ERR! path /home/havetl/.npm/d63f3d0b-grunt-cli.lock
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! Error: EACCES, open "npm-debug.log"
npm ERR!  { [Error: EACCES, open "npm-debug.log"] errno: 3, code: "EACCES", path: "npm-debug.log" }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.

npm ERR! System Linux 3.5.0-23-generic
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "install" "-g" "grunt-cli"
npm ERR! cwd /home/havetl
npm ERR! node -v v0.10.18
npm ERR! npm -v 1.3.8
npm ERR! path npm-debug.log
npm ERR! code EACCES
npm ERR! errno 3
npm ERR! stack Error: EACCES, open "npm-debug.log"
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /home/havetl/npm-debug.log
npm ERR! not ok code 0

Merci pour toute idée!

Réponses:

4 pour la réponse № 1

Selon le responsable de npm, l’installation de packages avec sudo est considéré comme une mauvaise pratique parce que vous êtespermettre à ce paquet d’avoir le contrôle complet de votre système et vous ne pouvez pas faire confiance à ces paquetages avec un accès root. Pensez que les longs cycles de publication de Debian constituent un exemple extrême de protection des utilisateurs finaux contre les paquets maintenus par la communauté pour cette raison exacte.

http://howtonode.org/introduction-to-npm

Vous devriez faire ce que Issaacs suggère et chown votre /usr/local dossier afin que vous ayez les autorisations RW.


3 pour la réponse № 2

J'ai déjà eu ce problème auparavant; parfois, pour les packages globaux, votre répertoire de travail actuel doit être ~/ (mais je ne suis pas sûr de savoir pourquoi!). Essayez:

cd ~/; sudo npm install -g grunt-cli

0 pour la réponse № 3

Ce blog a fonctionné pour moi:

http://slopjong.de/2012/10/31/how-to-install-the-latest-nodejs-in-ubuntu/

L'erreur était due au fait que dans Ubuntu v12, quelques-unes des dépendances n'étaient pas disponibles pour la dernière version de Node.