Не могу установить node-sass

Я пытаюсь установить node-sass, но он мне просто не позволяет. Я пробовал обновить npm.

Я вставил это:

sudo npm install -g node-sass

и я получаю это (начиная за одну строку до ошибки):

gyp verb build dir attempting to create "build" dir: 
/Users/matt/node_modules/node-sass/build
gyp ERR! configure error
gyp ERR! stack Error: EACCES: permission denied, mkdir 
'/Users/matt/node_modules/node-sass/build'
gyp ERR! System Darwin 17.7.0
gyp ERR! command "/usr/local/bin/node" 
"/Users/matt/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "- 
-verbose" "--libsass_ext = " "--libsass_cflags = " "-- 
libsass_ldflags = " "--libsass_library = "
gyp ERR! cwd /Users/matt/node_modules/node-sass
gyp ERR! node -v v8.11.1
gyp ERR! node-gyp -v v3.7.0
gyp ERR! not ok
Build failed with error code: 1
npm WARN enoent ENOENT: no such file or directory, open                     
'/Users/matt/package.json'
npm WARN [email protected] requires a peer of ajv@^6.0.0 but         
none is installed. You must install peer dependencies yourself.
npm WARN matt No description
npm WARN matt No repository field.
npm WARN matt No README data
npm WARN matt No license field.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] postinstall: `node scripts/build.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] postinstall script.
npm ERR! This is probably not a problem with npm. There is 
likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/matt/.npm/_logs/2018-08-02T16_18_15_228Z- 
debug.log

Я думаю, что эта ветка правильно решила проблему Ошибка установки NPM node-sass

Kazi Hasan Ali 02.06.2021 09:58
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
7
1
20 689
8

Ответы 8

Проблема с правами доступа к вашему каталогу '/ Users / matt / node_modules / node-sass / build', пожалуйста, щелкните правой кнопкой мыши на Пользователи / мат и перейдите в свойства снимите флажок ReadOnly, затем в том же окне перейдите к проверке безопасности для каждого пользователя, предоставляется ли полный контроль над папкой иначе измените его на полный контроль для всех

У меня такая же проблема при запуске учебника Ionic, и проблема в том, что каталог node-sass устанавливается во время выполнения: > [email protected] install /Users/imacuser/MyIonicProject/node_modules/node-sass, что приводит к той же ошибке, что и @Matt: gyp ERR! stack Error: EACCES: permission denied, mkdir '/Users/matt/node_modules/node-sass/build'. Как установить разрешения для каталога, который не существует и не устанавливается из-за отказа в разрешениях?

jimiayler 08.08.2018 03:45

@jimiayler Это ваш родительский каталог, который может быть проблемой, т.е. папка вашего проекта, например, angular-project> node modules, поэтому проблема связана с каталогом angular-project

Vaibhav Kumar Goyal 08.08.2018 03:49

хорошо, вы можете щелкнуть правой кнопкой мыши свой родительский каталог проекта и перейти на вкладку безопасности и дать разрешение всем как полный доступ, также просто проверьте, не установлен ли флажок только для чтения для вашего родительского каталога, попробуйте снова установить @jimiayler

Vaibhav Kumar Goyal 08.08.2018 08:27
sudo npm install -g --unsafe-perm node-sass

Это должно решить проблему

Лучший способ избавиться от проблем с разрешениями - установить npm / node с помощью brew.

  1. Удалить npm (Как полностью удалить Node.js и переустановить с самого начала (Mac OS X))
  2. Установите brew /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  3. Установите узел / npm с помощью следующей команды brew install node

попробуйте эту команду:

sudo npm install --save-dev  --unsafe-perm node-sass

Обходной путь, который заставляет это работать:

Зайти в папку

username/.npm/node-sass // on linux
username/AppData/Roaming/npm-cache/node-sass //on windows

внутри создать каталог /4.9.2

На этой странице https://github.com/sass/node-sass-binaries получает конкретную версию и помещает этот файл в папку 4.9.2. Теперь попробуйте запустить установку npm - должно работать!

Для меня это не сработало, и у меня была такая же проблема, но я смог решить ее с помощью другого приложения, в котором был двоичный файл для node-sass в папке поставщика, поэтому я sudo mv папку в свой другой проект, и он смог чтобы запустить это нормально. Я знаю, что это может быть не очень хорошее решение, но это то, что я пробовал, сработало.

Не могли бы вы объяснить дальше, пожалуйста? Из какого еще приложения вы получили двоичный файл?

mypetlion 10.07.2019 18:20

На моем локальном компьютере нет проблем с установкой полной папки node-sass в node_modules (так что на самом деле у него был двоичный файл для node_sass), я sudo mv файл node-sass с двоичным файлом, я считаю, что у него была папка поставщика внутри, в папка node_module / node-sass, в которой не было двоичного файла. Опять же, я не думаю, что это лучшее решение, но оно как-то помогло мне

scotth527 14.07.2019 00:12

У меня было что-то подобное, если ничего из вышеперечисленного не поможет вам сначала удалить прокси.
У меня возникла проблема с npm ERR! code ECONNREFUSED при попытке установить node-sass, поэтому проверьте свои журналы, происходит ли это с вами.
Если прокси существует, удалите его с помощью этой команды:

npm config set proxy null
npm config set https-proxy null

Затем установите npm для загрузки из официального реестра пакетов:

npm config set registry http://registry.npmjs.org/

Затем установите свой пакет с помощью npm install node-sass

Для меня ошибка была решена при понижении версии узла до версии 14 (у меня была версия 16). Инструмент, упомянутый в следующем ответе, помог мне быстро переключаться между версиями узла: https://stackoverflow.com/a/50287454/13005312

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