Je suis coincé avec cette erreur, peu importe le répertoire dans lequel je me trouve et ce que je tape après "npm" dans cmd.exe. Voici le 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 ]
J'ai essayé de désinstaller/réinstaller nodejs plusieurs fois, j'ai même supprimé les dossiers npm et npm-cache dans C:\Users\me\AppData\Roaming. Je ne suis pas sûr de ce qui a mal tourné. Une seconde, ça fonctionnait bien, et maintenant je ne peux pas me débarrasser de cette erreur. L'explication dans le journal n'a pas de sens, car elle donne cette erreur dans n'importe quel répertoire. Je dois noter que l'exécution d'une invite de commande en tant qu'administrateur ne génère pas cette erreur. Je me tire les cheveux ce vendredi soir en essayant de régler ce problème, toute aide serait grandement appréciée!
J'ai rencontré le même problème alors que je changeais certains paramètres npm. J'ai fait une erreur avec une commande npm config set
et cela a ajouté une ligne faisant référence à un répertoire non existant à C:\Users\{User}\.npmrc
. Après avoir supprimé cette ligne manuellement de .npmrc
, le problème avait disparu.
EISDIRsignifie " Erreur, Is Directory ". Cela signifie que NPM tente de modifier quelque chose dans un fichier, mais il s’agit d’un répertoire . Dans votre cas, NPM tente de "lire" un fichier qui est un répertoire (Ligne: 4). Étant donné que l'opération ne peut pas être effectuée, l'erreur est renvoyée.
Trois choses à faire ici.
Avait le même problème aujourd'hui après avoir mis à niveau mon npm de la version 6.4.1 à la version 6.5.0. J'ai résolu ce problème en téléchargeant le programme d'installation .pkg (recommandé pour la plupart des utilisateurs) à partir de node.js et je l'ai ensuite exécuté.
J'ai eu le même problème sur Mac OS X (installé avec homebrew), et le .npmrc n'est pas le seul noeud de lieu stocké des variables de configuration. Il existe un fichier de configuration glocal npmrc dans/usr/local/etc que vous devez modifier à l'aide de cette commande:
Sudo nano npmrc
Supprimez la ligne ca=
ou le paramètre de configuration qui a interrompu votre installation, enregistrez ce fichier et relancez la procédure npm. Vous devriez le voir fonctionner.
Dans mon cas, je recevais le message "EISDIR: opération illégale sur un répertoire, lire" parce que dans mon fichier .angular-cli.json, je ne fournissais pas un chemin complet dans "scripts:"
Par exemple j'avais
"scripts": [
"../node_modules/hammerjs",
"../node_modules/moment"
],
En fait, cela aurait dû être
"scripts": [
"../node_modules/hammerjs/hammer.min.js",
"../node_modules/moment/min/moment.min.js"
],
Si votre problème est associé à l’emballeur React Native. Essayez de réinitialiser le cache avec react-native start --reset-cache
.
Vérifiez que vous exécutez l’installation de npm à partir du répertoire approprié.
(Le fichier package.json peut par exemple être un répertoire supplémentaire vers le bas.)
Ces erreurs étranges se sont produites récemment sur ma machine OSX.
Je pourrais m'aider de la manière rapide et sale en exécutant:
Sudo chmod -R 777 /usr/local/lib/node_modules/
Quelque chose semblait avoir gâché les droits d'accès de tous les modules de nœuds globaux.
Pour moi, la correction était d'ajouter une barre oblique après le nom du répertoire
J'ai eu un lien symbolique cassé vers node_modules dans un sous-dossier
Assurez-vous de vérifier votre version de npm et de déterminer si elle pose des problèmes. J'avais le même problème au moment de cet article et j'ai découvert que ma version de npm (6.5) avait des problèmes. J'ai dû désinstaller et réinstaller la version 6.4.1 de npm, puis tout a recommencé à fonctionner correctement.
Dans mon cas, ces étapes ont résolu mon problème:
npm
processus (CTRL + C)
npm
J'ai eu un problème similaire lors de la configuration du code standard. Il lisait mon fichier bundle.js en tant que répertoire. Donc, comme indiqué ici. EISDIR signifie que c'est un répertoire et non un fichier. Pour résoudre le problème, j'ai supprimé le fichier et viens de le recréer (il a été créé automatiquement) . Si vous ne trouvez pas le fichier (car il est caché), utilisez simplement le terminal pour le rechercher et le supprimer.
Je sais que ce n'est pas spécifiquement poser des questions sur pour toujours js .. mais google m'a conduit ici donc .. Pour moi, il était aussi simple qu'une barre oblique de fin.
Je viens de changer:
forever start -a -l /dev/null/ /var/www/node/my_file.js
À:
forever start -a -l /dev/null /var/www/node/my_file.js
Et l'erreur a disparu
J'ai eu ce problème avec gulp. Le problème était que gulp a ajouté une dépendance à mon fichier source et je pense que npm a essayé de l'ouvrir:
{
"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"
}
}
Assurez-vous qu'il n'y a pas de références étranges dans votre fichier package.json.
Dans mon cas, je rencontrais ce problème lors de l'installation de create-react-app
dans MAC (Mojave OS)
avec la commande suivante:
Sudo npm install create-react-app -g
et a des erreurs comme celle-ci:
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'
J'ai lu npm.community qui essaie d'installer sans Sudo
:
npm install create-react-app -g
et cela a résolu mon problème .. !!
Effectuer une désinstallation complète, y compris la suppression des chemins, et la réinstallation a résolu le problème, très étrange.
J'ai eu le même problème. Il y avait un dossier lié dans mon répertoire qui était à l'origine du problème. J'ai ajouté ce dossier pour ignorer la liste, puis il a bien fonctionné comme prévu.
Avait le même problème jusqu'à ce que j'ai essayé de supprimer le dossier .git. Ça a marché. Je suppose que ce type de problème peut avoir différentes causes.
Dans mon cas, j'ai oublié de passer le chemin complet de l'un des fichiers qu'il demandait. Après avoir passé le chemin complet du fichier a fonctionné :)