Мысли, вызванные ошибкой установки Node-Sass

Node.js внешний интерфейс Mac NPM

В системе Mac OS или liunx иногда появляется при установке node-sass,Permissions Errors

Что может случиться, это:

loop reinstall


что вы получите после прочтения

  1. Вы успешно решите проблему невозможности установки node-sass (такая же или похожая проблема)
  2. Не только node-sass, другие модули тоже могут решить такие проблемы
  3. Вы получите несколько решений для решения этой проблемы
  4. Вы узнаете, почему возникают такие проблемы и как их избежать

Анализ ошибок

Найти ключевые слова в выходной информации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

Одним из вышеперечисленных способов можно решить проблему.

Ссылаться на