Могу ли я установить пакеты NPM с помощью Sudo?

Недавно мне было предложено установить патч NPM с помощью npm install -g npm, но этот процесс не удался. Ниже приведены выдержки из сообщения об ошибке.

npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules/npm
npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules/npm/node_modules

и

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.

Безопасно ли устанавливать патч с помощью sudo? Если нет, то какое правильное решение этой проблемы?

Настройка шаблона Metronic с помощью Webpack и Gulp
Настройка шаблона Metronic с помощью Webpack и Gulp
Я пишу эту статью, чтобы поделиться тем, как настроить макет Metronic с помощью Sass, поскольку Metronic предоставляет так много документации, и они...
1
0
52
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Да, можно, но нет, это небезопасно. Многие так делают, но не должны. Если вы устанавливаете с помощью sudo, то все зависимости и подзависимости пакета (которых может быть очень большое количество пакетов) могут запускать сценарии жизненного цикла от имени пользователя root, в основном делая все, что они хотят. Вы можете смягчить это с помощью --ignore-scripts, но тогда то, что вы устанавливаете, может не работать.

Лучшие решения находятся в документах npm по этой теме : установите node и npm с помощью диспетчера версий (например, nvm) или настройте npm для выполнения глобальной установки в каталоге, где вам не нужно будет использовать sudo.

Тем не менее, для вашей конкретной ситуации — простое обновление самого npm — использование sudo является очень распространенным решением, несмотря на то, что это не совсем целесообразно. Установка npm с помощью диспетчера версий лучше, если вы работаете на компьютере для разработки (например, на своем личном ноутбуке).

Другие вопросы по теме