node.js - eslintrc - Error: EACCES: permiso denegado al intentar instalar ESLint usando npm
npm eslint (6)
Estoy intentando instalar ESLint con npm yendo:
npm install -g eslint
Sin embargo me sale el siguiente error:
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
Y para ser honesto, recibo esto cada vez que trato de instalar algo con npm. A veces, usar ''sudo'' funciona, a veces no ... ¿Cómo puedo solucionar esto de una vez por todas?
Ejecutar el siguiente comando resolvió el problema por mí al instalar mi packages.json:
sudo npm install --unsafe-perm=true --allow-root
Para instalar solo el paquete que causó el problema:
sudo npm install -g --unsafe-perm=true --allow-root eslint
Este problema está bien documentado en los documentos npm: Corrección de permisos npm .
Tienes 2 soluciones disponibles:
Opción 1 : cambie el directorio predeterminado de npm a un directorio oculto en su carpeta de inicio
mkdir ~/.npm-global
npm config set prefix ''~/.npm-global''
export PATH=~/.npm-global/bin:$PATH
source ~/.profile
Opción 2 : use un administrador de paquetes que se encargue de esto por usted
brew install node
Usa sudo antes de tns y es un trabajo para mi
Ejemplo:
sudo tns create Tekmo --template tns-template-hello-world
si he usado sudo, entonces no se encuentra el error como para crear postinstall.js
Error: EACCES: permiso denegado
Use las etiquetas --unsafe-perm = true y --allow-root con npm instalar como abajo: -
sudo npm install -g eslint --unsafe-perm=true --allow-root
Funcionó como un encanto para mí.
Pruebe este comando sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules}
esto cambiará la propiedad de las subcarpetas utilizadas por npm y algunas otras herramientas (lib / node_modules, bin y share).
Actualizar
Siga este link como lo sugieren otros usuarios.
sudo npm install -g --unsafe-perm=true eslint
es suficiente.