В системе Mac OS или liunx иногда появляется при установке node-sass,Permissions Errors
Что может случиться, это:
что вы получите после прочтения
- Вы успешно решите проблему невозможности установки node-sass (такая же или похожая проблема)
- Не только node-sass, другие модули тоже могут решить такие проблемы
- Вы получите несколько решений для решения этой проблемы
- Вы узнаете, почему возникают такие проблемы и как их избежать
Анализ ошибок
Найти ключевые слова в выходной информацииuser "root" does not have permission to access the dev dir
Кажется, это проблема с разрешением, но иногда этоroot
Пользователь, почему возникла проблема с разрешением?
Решения проблемы следующие:
Вариант 1 Добавить параметры (--unsafe-perm)
во время установкиnode-sass
При использовании параметра--unsafe-perm
Например:
npm install --unsafe-perm node-sass
Разобрать:
--unsafe-perm
Значение по умолчанию false для root, а значение по умолчанию для других — true.
Если установлено значение true, UID/GID будет переключаться при запуске скрипта пакета. Явно установлено значение false, установка не будет выполнена под пользователем без полномочий root.
Вариант 2 Добавить параметры (--user=root)
во время установкиnode-sass
При использовании параметра--user=root
Например:
npm install --user=root node-sass
Этот параметр указывает учетную запись (UID), используемую при повторном выполнении скрипта, по умолчаниюnobody
Вариант 4 Изменить разрешения существующего узла
Если вы используете скомпилированную версию узла напрямую
Тогда права вашего каталога после распаковки могут быть такими:
drwxrwxr-x 7 dev dev 4.0K 3月 24 11:25 node-v8.10.0-linux-x64
это также может быть
drwxrwxr-x 7 500 500 4.0K 3月 24 11:25 node-v8.10.0-linux-x64
Здесь вам нужно изменить разрешения каталога узла наroot
chown root:root node-v8.10.0-linux-x64
Вариант 4 Переустановите узел (рекомендуется nvm)
nvm — это инструмент управления версиями узла, с помощью которого можно легко загрузить и установить узел, а также легко переключить версию узла.
Это напрямую вставляется адрес nvm, как установитьсм. документацию
Решение пятое, предоставленное npm (Как предотвратить ошибки разрешений)
## 创建.npm-global目录
mkdir ~/.npm-global
## 设置
npm config set prefix '~/.npm-global'
export PATH=~/.npm-global/bin:$PATH
source ~/.profile
Одним из вышеперечисленных способов можно решить проблему.