Невозможно установить пакеты npm

#node.js #npm #node-modules #npm-install

#node.js #npm #узел-модули #npm-установка

Вопрос:

Я должен установить пакет npm, поэтому использовал команду — npm install -g <package-name> но это привело к ошибке доступа на запись, поэтому я изменил разрешения следующим образом со ссылкой на https://flaviocopes.com/npm-fix-missing-write-access-error /

 sudo chown -R $USER /opt/node-v10.22.0-linux-x64/lib/node_modules/
  

и попробовал еще раз, но если снова не удалось —

 npm ERR! code EACCES
npm ERR! syscall symlink
npm ERR! path ../lib/node_modules/requirejs/bin/r.js
npm ERR! dest /opt/node-v10.22.0-linux-x64/bin/r.js
npm ERR! errno -13
npm ERR! Error: EACCES: permission denied, symlink '../lib/node_modules/requirejs/bin/r.js' -> '/opt/node-v10.22.0-linux-x64/bin/r.js'
npm ERR!  { [Error: EACCES: permission denied, symlink '../lib/node_modules/requirejs/bin/r.js' -> '/opt/node-v10.22.0-linux-x64/bin/r.js']
npm ERR!   cause:
npm ERR!    { Error: EACCES: permission denied, symlink '../lib/node_modules/requirejs/bin/r.js' -> '/opt/node-v10.22.0-linux-x64/bin/r.js'
npm ERR!      errno: -13,
npm ERR!      code: 'EACCES',
npm ERR!      syscall: 'symlink',
npm ERR!      path: '../lib/node_modules/requirejs/bin/r.js',
npm ERR!      dest: '/opt/node-v10.22.0-linux-x64/bin/r.js' },
npm ERR!   stack:
npm ERR!    'Error: EACCES: permission denied, symlink '../lib/node_modules/requirejs/bin/r.js' -> '/opt/node-v10.22.0-linux-x64/bin/r.js'',
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'symlink',
npm ERR!   path: '../lib/node_modules/requirejs/bin/r.js',
npm ERR!   dest: '/opt/node-v10.22.0-linux-x64/bin/r.js' }
npm ERR!
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as the current user
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.
  

также, когда я запускаю command with sudo , он выдает npm not found . Пожалуйста, укажите, что здесь не так.

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

1. По умолчанию у вас нет разрешения на запись данных в папку /opt . Щелкните правой кнопкой мыши на этой папке и выберите Get info , прокрутите вниз до самого низа и проверьте Sharing and Permissons

Ответ №1:

вам нужны разрешения на чтение и запись в /opt/node-v10.22.0-linux-x64/, поскольку он создает для вас символическую ссылку. вы также можете проверить назначение по ошибке, в нем четко указано, что у вас там нет разрешения.

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

1. Спасибо, это сработало, как вы сказали, я должен был дать разрешение до sudo chown -R $USER /opt/node-v10.22.0-linux-x64/