Arhn - архитектура программирования

npm: необработанный отказ Ошибка: EISDIR: недопустимая операция в каталоге, откройте «/Users/me/.npm/_cacache/content-v2/sha512/b3/da»

На своем 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?

В поисках способа удалить узел я нашел много старых сообщений с длинными и иногда противоречивыми списками файлов, которые нужно удалить. Не уверен, что от этого станет хуже.

Какие-либо предложения?

npm
02.04.2019

Ответы:


1

Я думаю, что нашел решение. Я сделал следующее:

  1. установленный узел из установщика pkg для Mac с https://nodejs.org/en/ Это понизило версию npm до 6.4. .1, которая является версией до того, как начинаются проблемы с EISDIR.
  2. chmod -R 777 ~/.npm/_cacache // да, это нехорошо
  3. chown -R меня ~/.npm/_cacache

После этого я смог без ошибок установить кордову с помощью «sudo npm install -g cordova».

02.04.2019

2

У меня была такая же проблема, когда я обновился до npm 6.9.0. Вы должны обновить узел до последней версии:

варить переустановить узел

На данный момент я установил последнюю доступную версию для Mac OS Mojave (узел: v11.14.0 и npm 6.9.0).

После обновления узла я снова смог установить пакеты глобально.

18.04.2019
  • nvm install node исправил это для меня (при переходе с 6.9.0 на 6.7.0) 21.04.2019
  • СПАСИБО, это сделало это для меня - я следил за столькими ответами SO, но этот сделал это для меня! ‹3 12.05.2019

  • 3

    Смена владельца файлов и отказ от использования sudo — это возможный обходной путь для EISDIR при глобальной установке с использованием sudo. Я полагаю, вы установили в папку по умолчанию:

    sudo chown -R <user> ~/.npm
    
    sudo chown -R <user> /usr/local/lib
    
    sudo chown -R <user> /usr/local/bin
    

    После этой последовательности это сработало для меня.

    08.05.2019
    Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..