J'essaye d'installer ESLint avec npm en allant:
npm install -g eslint
Cependant, j'obtiens l'erreur suivante:
Deans-Air:~ deangibson$ npm install -g eslint
npm ERR! tar.unpack untar error /Users/deangibson/.npm/eslint/2.4.0/package.tgz
npm ERR! Darwin 15.3.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "-g" "eslint"
npm ERR! node v4.2.3
npm ERR! npm v2.14.7
npm ERR! path /usr/local/lib/node_modules/eslint
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall mkdir
npm ERR! Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/eslint'
npm ERR! at Error (native)
npm ERR! { [Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/eslint']
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'mkdir',
npm ERR! path: '/usr/local/lib/node_modules/eslint',
npm ERR! fstream_type: 'Directory',
npm ERR! fstream_path: '/usr/local/lib/node_modules/eslint',
npm ERR! fstream_class: 'DirWriter',
npm ERR! fstream_stack:
npm ERR! [ '/usr/local/lib/node_modules/npm/node_modules/fstream/lib/dir-writer.js:35:25',
npm ERR! '/usr/local/lib/node_modules/npm/node_modules/mkdirp/index.js:47:53',
npm ERR! 'FSReqWrap.oncomplete (fs.js:82:15)' ] }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! Please include the following file with any support request:
npm ERR! /Users/deangibson/npm-debug.log
Et pour être honnête, je l’obtiens à chaque fois que j’essaie d’installer quelque chose avec NPM. Parfois, utiliser 'Sudo' fonctionne, parfois non ... Comment puis-je résoudre ce problème une fois pour toutes?
Utilisez les options --unsafe-perm = true et --allow-root avec npm install comme ci-dessous: -
Sudo npm install -g eslint --unsafe-perm=true --allow-root
cela a fonctionné comme un charme pour moi.
Ce problème est bien documenté dans npm docs: correction des autorisations npm .
Vous avez 2 solutions disponibles:
Option 1 : remplacez le répertoire par défaut de npm par un répertoire caché dans votre dossier personnel.
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
export PATH=~/.npm-global/bin:$PATH
source ~/.profile
Option 2 : Utilisez un gestionnaire de paquets qui s'en occupe pour vous.
brew install node
Essayez cette commande Sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules}
cela modifiera la propriété des sous-dossiers utilisés par npm et d'autres outils (lib/node_modules, bin et share).
Mettre à jour
Suivez ceci lien comme suggéré par d'autres utilisateurs.
L'exécution de la commande suivante a résolu le problème pour moi lors de l'installation de mon package.json:
Sudo npm install --unsafe-perm=true --allow-root
Pour installer uniquement le package à l'origine du problème:
Sudo npm install -g --unsafe-perm=true --allow-root eslint
Sudo npm install -g --unsafe-perm=true eslint
est suffisant.
Utilisez Sudo before tns et c'est un travail pour moi
Exemple:
Sudo tns create Tekmo --template tns-template-hello-world
si j'ai utilisé Sudo alors pas trouvé d'erreur comme pour créer postinstall.js
Erreur: EACCES: permission refusée