При первой попытке установить пакет глобально с помощью npm , используя синтаксис npm install -g <пакет> на Mac или Linux, вы можете получить странную ошибку, сказав что-то вроде
Missing write access to /usr/local/lib/node_modules
или что-то в этом роде, за которым следует длинный список других ошибок предупреждений, являющихся следствием первой ошибки, которая была вам напечатана.
Эта ошибка мешает нам установить пакет.
Как вы это исправите? Это ошибка разрешения, что означает, что у вас нет доступа на запись в эту папку.
Вот как это можно решить. Выполните эту команду:
sudo chown -R $USER /usr/local/lib/node_modules
Давайте разберемся с этим:
sudo означает, что мы выполняем эту команду как корень , суперпользователь системы. Это связано с тем, что у нас нет разрешения на запись в эту папку, но root сможет исправить любое разрешение. Эта команда также означает, что система запросит ваш пароль для подтверждения.
chown – это команда, которую мы используем для смены владельца файла или папки. Мы устанавливаем параметр -R для рекурсивной смены владельца, поэтому мы также получаем доступ владельца ко всем файлам, уже содержащимся там.
$USER – это переменная среды, автоматически устанавливаемая на ваше имя пользователя.
И последняя часть – это путь к папке.
Запуск этого пути приведет к созданию папки твой , чтобы вы могли безопасно запускать свои команды npm install -g <пакет> !
Обратите внимание на папку, указанную в сообщении об ошибке. Если это не так, обновите команду chown соответствующим образом.
Этот совет применим к однопользовательским системам. В многопользовательской системе может потребоваться создать специальный каталог для модулей npm, см. https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally .
Оригинал: “https://flaviocopes.com/npm-fix-missing-write-access-error/”