На своем Mac я только что обновил свою рабочую версию npm с 5.6 до 6.9 следующим образом:
sudo npm i -g npm
Затем я попытался установить кордову следующим образом:
sudo npm install -g cordova
И получить
Unhandled rejection Error: EISDIR: illegal operation on a directory,
open '/Users/me/.npm/_cacache/content-v2/sha512/04/89'
npm ERR! cb() never called!
npm ERR! This is an error with npm itself. Please report this error at:
npm ERR! <https://npm.community>
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/me/.npm/_logs/2019-04-02T11_50_57_678Z-debug.log
Я попытался понизить рейтинг таким образом:
sudo npm install -g [email protected]
но это терпит неудачу с сотнями таких строк:
npm WARN tar EISDIR: illegal operation on a directory, open '/tmp/npm-30934-a3ac319a/unpack-28da209e/bin/node-gyp-bin'
Unhandled rejection Error: EISDIR: illegal operation on a directory, open '/Users/me/.npm/_cacache/content-v2/sha512/99/72'
Я также попытался убедиться, что право собственности было правильным:
sudo chown -R $(whoami) ~/.npm
Есть много сообщений о различных проблемах EISDIR (ошибка — это каталог) для других каталогов (таких как /usr/lib/modules), но решения, похоже, не работают.
Кроме того, файл npmrc, похоже, не существует. Если я сделаю:
npm config ls -l
globalconfig = "/usr/local/etc/npmrc"
userconfig = "/Users/me/.npmrc"
но ни один файл не существует.
Обратите внимание, у меня нет доморощенного, и я не устанавливал его таким образом (обычно я устанавливаю вручную).
Я также пробовал это:
sudo npm cache clean -f
Это не помогло.
Что еще я могу попробовать? мне попробовать удалить каталог ~/.npm?
В поисках способа удалить узел я нашел много старых сообщений с длинными и иногда противоречивыми списками файлов, которые нужно удалить. Не уверен, что от этого станет хуже.
Какие-либо предложения?