node.js - node - npm permission denied
NPM atascado dando el mismo error EISDIR: Operación ilegal en un directorio, leído en error(nativo) (20)
Estoy atascado con este error, no importa en qué directorio estoy, y lo que escribo después de "npm" en cmd.exe. Aquí está el npm-debug.log:
0 info it worked if it ends with ok
1 verbose cli [ ''C://Program Files//nodejs//node.exe'',
1 verbose cli ''C://Program Files//nodejs//node_modules//npm//bin//npm-cli.js'' ]
2 info using [email protected]
3 info using [email protected]
4 verbose stack Error: EISDIR: illegal operation on a directory, read
4 verbose stack at Error (native)
5 verbose cwd C:/Users/me
6 error Windows_NT 6.1.7601
7 error argv "C://Program Files//nodejs//node.exe" "C://Program Files//nodejs//node_modules//npm//bin//npm-cli.js"
8 error node v4.2.6
9 error npm v2.14.12
10 error code EISDIR
11 error errno -4068
12 error syscall read
13 error eisdir EISDIR: illegal operation on a directory, read
13 error eisdir This is most likely not a problem with npm itself
13 error eisdir and is related to npm not being able to find a package.json in
13 error eisdir a package you are trying to install.
14 verbose exit [ -4068, true ]
He intentado desinstalar / reinstalar nodejs varias veces, incluso eliminé las carpetas npm y npm-cache en C: / Users / me / AppData / Roaming. No estoy seguro de qué salió mal para causar esto. Un segundo estaba funcionando bien, y ahora no puedo deshacerme de este error. La explicación en el registro no tiene sentido, ya que da este error en cualquier directorio. Debo señalar que ejecutar un símbolo del sistema como administrador no da este error. Me estoy sacando el pelo este viernes por la noche tratando de arreglar esto, ¡cualquier ayuda sería muy apreciada!
Asegúrese de verificar su versión de npm y si hay o no problemas con ella. Estaba teniendo el mismo problema en el momento de esta publicación y descubrí que mi versión npm (6.5) tenía problemas. Tuve que desinstalar y reinstalar la versión 6.4.1 de npm y luego todo comenzó a funcionar de nuevo.
En mi caso, estaba enfrentando este problema al instalar
create-react-app
en
MAC (Mojave OS)
con el siguiente comando:
sudo npm install create-react-app -g
y obtuve errores como este:
npm WARN tar EISDIR: illegal operation on a directory, open ''/usr/local/lib/node_modules/.staging/rxjs-a84420a7/src/scheduler''
npm WARN tar EISDIR: illegal operation on a directory, open ''/usr/local/lib/node_modules/.staging/rxjs-a84420a7/src/symbol''
npm WARN tar EISDIR: illegal operation on a directory, open ''/usr/local/lib/node_modules/.staging/rxjs-a84420a7/src/testing''
npm WARN tar EISDIR: illegal operation on a directory, open ''/usr/local/lib/node_modules/.staging/rxjs-a84420a7/src/util''
npm WARN tar EISDIR: illegal operation on a directory, open ''/usr/local/lib/node_modules/.staging/rxjs-a84420a7/src/webSocket''
npm WARN tar EISDIR: illegal operation on a directory, open ''/usr/local/lib/node_modules/.staging/rxjs-a84420a7/symbol''
npm WARN tar EISDIR: illegal operation on a directory, open ''/usr/local/lib/node_modules/.staging/rxjs-a84420a7/testing''
npm WARN tar EISDIR: illegal operation on a directory, open ''/usr/local/lib/node_modules/.staging/rxjs-a84420a7/util''
npm WARN tar EISDIR: illegal operation on a directory, open ''/usr/local/lib/node_modules/.staging/rxjs-a84420a7/webSocket''
He leído
npm.community
que intenta instalar sin
sudo
:
npm install create-react-app -g
y en realidad resolvió mi problema ... !!
En mi caso, estaba obteniendo el "EISDIR: operación ilegal en un directorio, leer" porque en mi archivo .angular-cli.json no estaba proporcionando una ruta completa en "scripts:"
Por ejemplo tuve
"scripts": [
"../node_modules/hammerjs",
"../node_modules/moment"
],
De hecho debería haber sido
"scripts": [
"../node_modules/hammerjs/hammer.min.js",
"../node_modules/moment/min/moment.min.js"
],
En mi caso, estos pasos resolvieron mi problema:
-
terminando el proceso
npm
(CTRL + C)
- eliminar toda la carpeta
- creando uno nuevo
-
ejecutando
npm
nuevamente
En mi caso, olvidé pasar la ruta completa de uno de los archivos que estaba pidiendo. Después de pasar la ruta completa del archivo funcionó :)
Estos extraños errores ocurrieron recientemente en mi máquina OSX.
Podría ayudarme a mí mismo de la manera rápida y sucia ejecutando:
sudo chmod -R 777 /usr/local/lib/node_modules/
Algo parecía haber estropeado los derechos de acceso de todos los módulos de nodos globales.
Hacer una desinstalación completa, incluida la eliminación de rutas, etc. y la reinstalación ha resuelto el problema, aunque es un problema muy extraño.
Me encontré con el mismo problema mientras cambiaba algunas configuraciones de npm.
npm config set
un error con un
npm config set
y esto agregó una línea que hace referencia a un directorio no existente a
C:/Users/{User}/.npmrc
.
Después de eliminar esa línea manualmente de
.npmrc
, el problema desapareció.
Para mí, arreglar fue agregar una barra diagonal después del nombre del directorio
Sé que esto no es específicamente preguntar por siempre js ... pero google me llevó aquí, así que ... Para mí fue tan simple como una barra final.
Acabo de cambiar:
forever start -a -l /dev/null/ /var/www/node/my_file.js
A:
forever start -a -l /dev/null /var/www/node/my_file.js
Y el error desapareció
Si su problema está asociado con el empaquetador React Native.
Intente restablecer el caché con
react-native start --reset-cache
.
Tenía un enlace simbólico roto a node_modules en una subcarpeta
Tuve el mismo problema en Mac OS X (instalado con homebrew), y .npmrc no es el único lugar donde el nodo almacena las variables de configuración almacenadas. Hay un archivo de configuración glocal npmrc en / usr / local / etc que debe editar con este comando:
sudo nano npmrc
Elimine la línea
ca=
, o cualquiera que sea la configuración que interrumpió su instalación, guarde ese archivo e intente npm nuevamente, y debería ver que funciona.
Tuve el mismo problema hasta que intenté eliminar la carpeta .git. Funcionó. Supongo que este tipo de problema puede tener diferentes causas.
Tuve el mismo problema. Había una carpeta vinculada en mi directorio que estaba causando el problema. Agregué esa carpeta para ignorar la lista y luego comenzó a funcionar bien como se esperaba.
Tuve este problema con trago. El problema fue que Gulp agregó una dependencia a mi archivo fuente y creo que npm intentó abrirlo:
{
"name": "name",
"version": "2.0.0",
"description": "",
"main": "gulpfile.js",
"scripts": {
"test": "echo /"Error: no test specified/" && exit 1"
},
"author": "",
"license": "ISC",
"devDependencies": {
"appname": "file://gulp",
"gulp-concat": "^2.6.1",
"gulp-electron": "^0.1.3",
"gulp-shell": "^0.5.2",
"gulp-uglify": "^2.0.0",
"gulp-util": "^3.0.7",
"node-7z": "^0.4.0"
}
}
Asegúrese de que no haya referencias extrañas en su archivo package.json.
Tuve un problema similar al configurar el código repetitivo. Estaba leyendo mi archivo bundle.js como un directorio. Entonces, como se indica aquí. EISDIR significa que es un directorio y no un archivo. Para solucionar el problema, eliminé el archivo y simplemente lo volví a crear (originalmente se creó automáticamente). Si no puede encontrar el archivo (porque está oculto), simplemente use el terminal para buscarlo y eliminarlo.
Verifique para asegurarse de que está ejecutando npm install desde el directorio apropiado.
(El archivo package.json podría estar un directorio adicional abajo, por ejemplo).
EISDIR significa " Error, es el directorio ". Esto significa que NPM está intentando hacerle algo a un archivo pero es un directorio . En su caso, NPM está tratando de " leer " un archivo que es un directorio (Línea: 4). Como no se puede realizar la operación, se genera el error.
Tres cosas para asegurarse aquí.
- Asegúrese de que el archivo existe. Si no es así, debe crearlo. (Si NPM depende de cualquier información específica en el archivo, necesitará tener esa información allí).
- Asegúrese de que sea de hecho un archivo y no un directorio.
- Tiene los permisos correctos. Puede cambiar el archivo para tener todos los permisos con "sudo chmod 777 FILE_NAME". (Cuidado: está otorgando permisos de lectura, escritura y ejecución a cada uno en ese archivo)