На моем Mac я только что обновил свою рабочую версию npm с 5.6 до 6.9 таким образом:
sudo npm i -g npm
Затем я попытался установить Cordova следующим образом:
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 npm@6.4.1
но это терпит неудачу с сотнями строк, подобных этой:
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"
но ни один файл не существует.
Обратите внимание, у меня нет homebrew, и я не устанавливал его таким образом (я обычно делаю ручную установку).
Я тоже пробовал это:
sudo npm cache clean -f
Это не помогло.
Что еще я могу попробовать? я должен попробовать удалить каталог ~ / .npm?
Ища способ удаления узла, я нашел много старых сообщений с длинными и иногда конфликтующими списками файлов для удаления. Не уверен, будет ли это еще хуже.
Есть предложения?