Не удается установить зависимости NPM в Windows 10

Не совсем уверен, что изменилось в Node.js и NPM в последнее время (т.е. за последние несколько дней), но я не могу найти способ установить зависимости node_modules для любых проектов, использующих Node.js в Windows 10...

Моя текущая настройка выглядит следующим образом:

Node.js: v9.5.0 NPM: v5.6.0 Vue.js: v2.9.3

Я пробовал очистить кеш перед установкой: npm cache clear -f

Каждый раз, когда я пытаюсь запустить npm i или npm install, я получаю следующий список ошибок:

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\fsevents): 
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Error: EPERM: operation not permitted, rename 'C:\xampp\htdocs\vue-scrolling-table-sample\node_modules\.staging\fsevents-a6c1bd51\node_modules\abbrev' -> 'C:\xampp\htdocs\vue-scrolling-table-sample\node_modules\.staging\abbrev-3ab84c45'

npm ERR! path C:\xampp\htdocs\vue-scrolling-table-sample\node_modules\acorn
npm ERR! code ENOENT
npm ERR! errno -4058
npm ERR! syscall rename
npm ERR! enoent ENOENT: no such file or directory, rename 'C:\xampp\htdocs\vue-scrolling-table-sample\node_modules\acorn' -> 'C:\xampp\htdocs\vue-scrolling-table-sample\node_modules\.acorn.DELETE'
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!     C:\Users\mbosse\AppData\Roaming\npm-cache\_logs\2018-02-14T18_27_56_988Z-debug.log

Указанный файл debug.log содержит следующее:

19859 предупреждение, необязательный ПРОПУСК ДОПОЛНИТЕЛЬНОЙ ЗАВИСИМОСТИ: [email protected] (node_modules\fsevents):

19860 предупреждение, необязательный ПРОПУСК ДОПОЛНИТЕЛЬНОЙ ЗАВИСИМОСТИ: Ошибка: EPERM: операция не разрешена, переименуйте 'C:\xampp\htdocs\vue-scrolling-table-sample\node_modules.staging\fsevents-a6c1bd51\node_modules\abbrev' -> 'C:\ xampp\htdocs\vue-scrolling-table-sample\node_modules.staging\abbrev-3ab84c45'

19861 подробный необязательный ПРОПУСК ДОПОЛНИТЕЛЬНОЙ ЗАВИСИМОСТИ:

19861 подробный необязательный Пожалуйста, попробуйте еще раз запустить эту команду от имени root/администратора.

19862 подробный стек Ошибка: ENOENT: нет такого файла или каталога, переименуйте 'C:\xampp\htdocs\vue-scrolling-table-sample\node_modules\acorn' -> 'C:\xampp\htdocs\vue-scrolling-table- образец\node_modules.acorn.DELETE'

19863 подробный cwd C:\xampp\htdocs\vue-scrolling-table-sample

19864 подробный Windows_NT 10.0.14393

19865 подробный argv "C:\ProgramFiles\nodejs\node.exe" "C:\ProgramFiles\nodejs\node_modules\npm\bin\npm-cli.js" "i"

19866 подробный узел v9.5.0

19867 подробный npm v5.6.0

19868 путь ошибки C:\xampp\htdocs\vue-scrolling-table-sample\node_modules\acorn

19869 код ошибки ENOENT

19870 ошибка ошибка -4058

19871 ошибка переименования системного вызова

19872 ошибка enoent ENOENT: такого файла или каталога нет, переименуйте 'C:\xampp\htdocs\vue-scrolling-table-sample\node_modules\acorn' -> 'C:\xampp\htdocs\vue-scrolling-table-sample\ node_modules.acorn.DELETE'

Ошибка 19873 enoent Это связано с тем, что npm не может найти файл.

19874 подробный выход [-4058, правда]

Итак, по какой-то причине NPM не может переименовывать node_modules зависимостей. Я попытался откатить NPM до более ранней версии (на случай, если npm@latest недостаточно стабилен).

Используя nvm, я полностью удалил все версии Node.js и NPM и переустановил их. С тех пор я пытался установить свои зависимости на установку Node.js v6.11.3, а также на Node.js v8.9.4 с идентичным результатом.

Любые предложения будут очень полезны, спасибо!


person Marc Bosse    schedule 14.02.2018    source источник
comment
Во многих учебниках говорится, что это происходит из-за условий гонки, и запуск npm install несколько раз в конечном итоге решает проблему. Это не тот случай, поскольку всегда выходит из строя один и тот же модуль, который никогда не продвигается дальше в процессе установки зависимостей.   -  person Marc Bosse    schedule 14.02.2018
comment
Попробуйте yarn, он часто работает лучше в среде Windows.   -  person Egor Stambakio    schedule 14.02.2018
comment
Часть меня просто любопытно, если кто-нибудь еще испытывает эту проблему! Честно говоря, думал о настройке ОС Linux Mint на загрузочный USB-накопитель. Таким образом, я всегда могу разрабатывать в среде Linux, где разрешения имеют больше смысла.   -  person Marc Bosse    schedule 14.02.2018
comment
@wostex, я пытался следовать вашему предложению. Теперь использую пряжу в моем проекте, который, кажется, правильно генерирует файлы node_modules и .lock для всех, кроме моей разветвленной зависимости.   -  person Marc Bosse    schedule 14.02.2018


Ответы (1)


Возможный дубликат => npm ERR! Ошибка: EPERM: операция не разрешена, переименуйте

Шаги:

  1. очистить кеш npm --force
  2. установка нпм

Если и только если это не сработает, я удалил папку node_modules и package-lock.json (если у вас есть последний) и повторил шаги 1 и 2.

person IronMusk    schedule 13.08.2019
comment
Спасибо. очистка кеша, похоже, устраняет эту ошибку. - person Amir Khalil; 02.12.2020