Lab / NPM

Поправьте права доступа, что-бы больше никогда не использовать 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».