Поправьте права доступа, что-бы больше никогда не использовать NPM с командой sudo
Если вы уже установили вашу ноду с официального сайта, то скорей всего вам знакома следующая ситуация — при установке пакетов глобально у вас ничего не выходит и консоль полна варнингов. Знакомая ситуация не правда ли?
Что вы обычно делаете в данном случае? Разумеется читаете варнинги и там говорится о недостатке прав на запись в данную директорию. Вы конечно же не долго умая обращаетесь к старому доброму другу по имени sudo, типа такого:
sudo npm install express-generator -g
На первый взгляд, это ничего приступного в нет, правда? На самом деле это очень опасная вещь.
Запомните: если вы используете сервер с привилегиями root и его взломали через уязвимость вашего кода, злоумышленник будет иметь полный контроль над вашей машиной.
Вам же не нужны проблемы? В таком случае необходимо лишь изменить привилегии на несколько папок на нашей машине.
Процедура предельно проста, и это очень доступно показано в одном из видеороликов в официальной документации по npm. Откройте терминал и введите:
sudo chown -R $(whoami) /usr/local/lib/node_modules
sudo chown -R $(whoami) /usr/local/bin
sudo chown -R $(whoami) /usr/local/share
Эти команды предельно просты. Они изменяют владельца перечисленных каталогов с root на вашего пользователя. Флаг -R означает «рекурсию», то-есть он изменяет право собственности на конкретный каталог и все каталоги и файлы внутри него.
Наслаждайтесь использованием npm без «sudo».