При использовании команды npm install может возникнуть ошибка, препятствующая успешной установки, главным сообщением является: Your cache folder contains root-owned files, due to a bug in previous versions of npm which has since been addressed.
В этом сообщении говориться, что из-за ошибки в предыдущих версиях npm, которая с тех пор была исправлена, папка кэширования содержит файлы, владельцем которых является root.
Пример команды, вызывающей ошибку:
sudo npm install -g node
Приведём полный вывод, т. к. в нём есть подсказки:
> node@14.2.0 preinstall /usr/local/lib/node_modules/node > node installArchSpecificPackage npm ERR! code EACCES npm ERR! syscall scandir npm ERR! path /root/.npm/_logs npm ERR! errno -13 npm ERR! npm ERR! Your cache folder contains root-owned files, due to a bug in npm ERR! previous versions of npm which has since been addressed. npm ERR! npm ERR! To permanently fix this problem, please run: npm ERR! sudo chown -R 65534:1000 "/root/.npm" glob error { [Error: EACCES: permission denied, scandir '/root/.npm/_logs'] errno: -13, code: 'EACCES', syscall: 'scandir', path: '/root/.npm/_logs' } npm ERR! code EACCES npm ERR! syscall open npm ERR! path /root/.npm/_cacache/index-v5/14/d7/ea219c5ebc10fb0a36ef7e8846ddffeccbde34792bd22566ab58fbd91ac7 npm ERR! errno -13 npm ERR! npm ERR! Your cache folder contains root-owned files, due to a bug in npm ERR! previous versions of npm which has since been addressed. npm ERR! npm ERR! To permanently fix this problem, please run: npm ERR! sudo chown -R 65534:1000 "/root/.npm" internal/modules/cjs/loader.js:638 throw err; ^ Error: Cannot find module 'node-linux-x64/package.json' at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15) at Function.resolve (internal/modules/cjs/helpers.js:33:19) at ChildProcess.<anonymous> (/usr/local/lib/node_modules/node/node_modules/node-bin-setup/index.js:18:27) at ChildProcess.emit (events.js:198:13) at maybeClose (internal/child_process.js:982:16) at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5) npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! node@14.2.0 preinstall: `node installArchSpecificPackage` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the node@14.2.0 preinstall script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! /root/.npm/_logs/2020-05-11T17_50_14_328Z-debug.log
В подсказках сказано, чтобы навсегда устранить проблему выполните команду:
sudo chown -R 65534:1000 "/root/.npm"
Но эта команда мне не помогла, осталась прежняя ошибка.
Проблему удалось решить следующей командой:
sudo npm cache clean --force
После этого проблема разрешилось и удалось выполнить установку.
Связанные статьи:
- Ошибка «npm WARN enoent ENOENT: no such file or directory, open 'C:\Users\Nuwanst\package.json'» (РЕШЕНО) (100%)
- Ошибка «00h00m00s 0/0: : ERROR: There are no scenarios; must have at least one» (РЕШЕНО) (100%)
- Ошибка «The engine "node" is incompatible with this module» (РЕШЕНО) (100%)
- Решение проблемы с ошибкой fatal error: stdlib.h: Нет такого файла или каталога (52.8%)
- Решение проблемы с ошибкой make: x86_64-w64-mingw32-gcc: Команда не найдена (52.8%)
- Решение ошибки VERR_VD_IMAGE_READ_ONLY (RANDOM - 2.8%)