Глобальная установка npm выдает предупреждения EISDIR и ошибку ENOENT - PullRequest
0 голосов
/ 04 января 2019

Я пытаюсь установить экспресс-генератор, используя npm install express-generator -g.Однако я получаю ошибки.

WARN tar EISDIR: illegal operation on a directory, open '/usr/local/lib/node_modules/.staging/ejs-2de19af3/lib'026584d.lock for /usr/local/lib/node_modules/.staging
WARN tar EISDIR: illegal operation on a directory, open '/usr/local/lib/node_modules/.staging/sorted-object-b497dff3/lib'
WARN tar EISDIR: blah blah many more lines like this
WARN tar EISDIR: illegal operation on a directory, open '/usr/local/lib/node_modules/.staging/mkdirp-f65a1b18/test'

npm ERR! path /usr/local/lib/node_modules/express-generator/node_modules/mkdirp/bin/cmd.js
npm ERR! code ENOENT
npm ERR! errno -2
npm ERR! syscall chmod
npm ERR! enoent ENOENT: no such file or directory, chmod '/usr/local/lib/node_modules/express-generator/node_modules/mkdirp/bin/cmd.js'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent 

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/xXc00lUs3rXx/.npm/_logs/2019-01-04T03_45_41_388Z-debug.log

Я не уверен, что означают предупреждения EISDIR, но для ошибки ENOENT chmod он пытается получить доступ к /usr/local/lib/node_modules/express-generator/, но такой директории нет.

Я запускаю npm на Mac.Я не уверен, как решить эту проблему.

Ответы [ 2 ]

0 голосов
/ 10 января 2019

Я был просто в одной лодке.Какую версию NPM вы используете?Согласно этому потоку , NPM@6.5 может вызывать сбой при глобальной установке NPM.Я столкнулся с еще большим количеством ошибок, пытаясь перейти на NPM@6.4.1, и в итоге удалил и переустановил Node.Я вернулся на NPM@6.5, и все вернулось на круги своя.

0 голосов
/ 09 января 2019

Попробуйте следующие команды: 1) sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share} Он меняет владельца lib / node_modules, bin, share для вашего пользователя macos 2) npm install express-generator -g После первого шага вам не нужно использовать 'sudo' при установке в глобальном режиме.больше.

...