NPM удаляет старые пакеты

Всякий раз, когда я пытаюсь установить новый пакет в свой проект, npm случайным образом удаляет старый пакет, который у меня есть, а затем выдает эту ошибку:

npm ERR! Error: EPERM: operation not permitted, rename 'C:wampwwwreact_projectsNasssnode_modulesaxios' -> 'C:wampwwwreact_projectsNasssnode_modules.axios.DE
LETE'
npm ERR!     at moveAway (C:Program Filesnodejsnode_modulesnpmlibinstallactionfinalize.js:38:5)
npm ERR!     at destStatted (C:Program Filesnodejsnode_modulesnpmlibinstallactionfinalize.js:27:7)
npm ERR!     at FSReqWrap.oncomplete (fs.js:82:15)
npm ERR!
npm ERR! Error: EPERM: operation not permitted, rename 'C:wampwwwreact_projectsNasssnode_modulesaxios' -> 'C:wampwwwreact_projectsNasssnode_modules.axios.DE
LETE'
npm ERR!     at Error (native)
npm ERR!  { [Error: EPERM: operation not permitted, rename 'C:wampwwwreact_projectsNasssnode_modulesaxios' -> 'C:wampwwwreact_projectsNasssnode_modules.axio
s.DELETE'] parent: 'Nasss' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.

npm ERR! Please include the following file with any support request:
npm ERR!     C:wampwwwreact_projectsNasssnpm-debug.log

Сталкивается ли он с каким-то конфликтом со старыми пакетами, которые я установил?

P. S: У меня уже есть CMD, работающий от имени администратора.

1 ответ

  1. Это похоже на проблему со странными разрешениями.

    Похоже, что npm не может переименовать каталоги на другие имена, которые, возможно, являются старыми версиями модулей, хранящихся для резервного копирования, если новые версии не будут установлены.

    Вы уверены, что у вас есть одинаковые разрешения во "Program Files\nodejs\node_modules" всех подкаталогах? Похоже, что у вас могут быть другие разрешения для существующих подкаталогов, чем у вас есть для новых подкаталогов и/или родительских node_modules.

    В Unix / Linux я бы исправил это с chmodпомощью и chownв одной строке, но для Windows вам придется погрузиться в каталоги и изучить разрешения.

    O возможно, вам нужно запустить от имени администратора, чтобы обновить / установить модули глобально. Это зависит от ваших разрешений и конфигурации.