Я пытаюсь установить 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





Проблема с правами доступа к вашему каталогу '/ 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 Это ваш родительский каталог, который может быть проблемой, т.е. папка вашего проекта, например, angular-project> node modules, поэтому проблема связана с каталогом angular-project
хорошо, вы можете щелкнуть правой кнопкой мыши свой родительский каталог проекта и перейти на вкладку безопасности и дать разрешение всем как полный доступ, также просто проверьте, не установлен ли флажок только для чтения для вашего родительского каталога, попробуйте снова установить @jimiayler
sudo npm install -g --unsafe-perm node-sass
Это должно решить проблему
Лучший способ избавиться от проблем с разрешениями - установить npm / node с помощью brew.
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
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 папку в свой другой проект, и он смог чтобы запустить это нормально. Я знаю, что это может быть не очень хорошее решение, но это то, что я пробовал, сработало.
Не могли бы вы объяснить дальше, пожалуйста? Из какого еще приложения вы получили двоичный файл?
На моем локальном компьютере нет проблем с установкой полной папки node-sass в node_modules (так что на самом деле у него был двоичный файл для node_sass), я sudo mv файл node-sass с двоичным файлом, я считаю, что у него была папка поставщика внутри, в папка node_module / node-sass, в которой не было двоичного файла. Опять же, я не думаю, что это лучшее решение, но оно как-то помогло мне
У меня было что-то подобное, если ничего из вышеперечисленного не поможет вам сначала удалить прокси.
У меня возникла проблема с 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
Я думаю, что эта ветка правильно решила проблему Ошибка установки NPM node-sass