Если вы уже имели опыт использования nodejs, то скорей всего вам знакома следующая ситуация — при установке пакетов глобально консоль полна ошибок и пакет не устанавливается.
В этот момент вы читаете ошибки и там говорится о недостатке прав, и казалось бы эта проблема решается просто, надо только добавить sudo перед командой npm. Но так лучше не делать.
Если вы используете сервер с привилегиями
rootи его взломали через уязвимость вашего кода, злоумышленник будет иметь полный контроль над вашей машиной.
Чтобы избежать такой проблемы проще один раз настроить права на директории и пользоваться npm без рута.
Итак, приступим:
Убеждаемся, что требуемые папки существуют (безопасны для выполнения, даже если они уже существуют)
sudo mkdir -p /usr/local/bin /usr/local/lib /usr/local/include /usr/local/share
Получаем права на папки назначения установки Node.js
sudo chown -R $(whoami) /usr/local/bin /usr/local/lib /usr/local/include /usr/local/share
Эти команды предельно просты. Они изменяют владельца перечисленных каталогов с root на вашего пользователя. Флаг -R означает «рекурсию», то-есть он изменяет право собственности на конкретный каталог и все каталоги и файлы внутри него.
Теперь можем использовать npm без sudo.
