Почему я получаю эти ошибки при вводе npm install в терминале?

#npm #npm-install

Вопрос:

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

 npm ERR! code EPERM
npm ERR! syscall mkdir
npm ERR! path C:UsersFirstname~1
npm ERR! errno -4048
npm ERR! Error: EPERM: operation not permitted, mkdir 'C:UsersFirstname~1'
npm ERR!  [OperationalError: EPERM: operation not permitted, mkdir 'C:UsersFirstname~1'] {
npm ERR!   cause: [Error: EPERM: operation not permitted, mkdir 'C:UsersFirstname~1'] {
npm ERR!     errno: -4048,
npm ERR!     code: 'EPERM',
npm ERR!     syscall: 'mkdir',
npm ERR!     path: 'C:\Users\Firstname~1'
npm ERR!   },
npm ERR!   isOperational: true,
npm ERR!   errno: -4048,
npm ERR!   code: 'EPERM',
npm ERR!   syscall: 'mkdir',
npm ERR!   path: 'C:\Users\Firstname~1'
npm ERR! }
npm ERR!
npm ERR! The operation was rejected by your operating system.
npm ERR! It's possible that the file was already in use (by a text editor or antivirus),
npm ERR! or that you lack permissions to access it.
npm ERR!
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator.
 

Как я могу это решить? Как я могу запустить установку npm администратором?

Ответ №1:

Похоже, проблема с неправильной настройкой npm.

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

Во-первых, проверьте, что такое префикс npm, используя такую команду, как

 npm config ls -l
 

Держу пари, это покажет что-то вроде

 prefix = "C:\Users\"
 

Попробуйте создать на C:Users{имя пользователя} где {имя пользователя} является вашим собственным, файл .npmrc с записью типа

 prefix = "C:\Users\{username}\some_dir_you_have_access"
 

Затем используйте-g, как пакет npm install-g, таким образом, npm попытается установить глобальные пакеты по пути, указанному в «префиксе», который вы определили.

папки npm задокументированы здесь https://docs.npmjs.com/cli/v7/configuring-npm/folders

Комментарии:

1. Это префикс = «C:\Program Файлы\nodejs» ; переопределено встроенным