“Sudo npm install -g grunt-cli” me donne une erreur

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!  npm ERR! or email it to: npm ERR!  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!

Selon le responsable de npm, l’installation de paquetages avec sudo est considérée comme une mauvaise pratique, car vous autorisez ce paquet à contrôler totalement votre système. Pensez aux longs cycles de publication de Debian comme 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 dossier /usr/local afin que vous ayez les permissions RW.

J’ai eu ce problème avant; parfois, pour les paquets globaux, votre répertoire de travail actuel doit être ~/ (mais je ne suis pas sûr de savoir pourquoi!). Essayer:

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

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.