ОШИБКА в Не удается найти модуль 'node-sass'

186

Конфиг: macOS High Sierra, версия 10.13.2, узел: v8.1.2 npm: 5.0.3 Когда я запускаю npm start в моем проекте angularjs, я получаю эту ошибку:

ERROR in Cannot find module 'node-sass'

После этого я бегу:

npm i node-sass

Теперь я получаю эту ошибку:

gyp: No Xcode or CLT version detected!
gyp ERR! configure error 
gyp ERR! stack Error: `gyp` failed with exit code: 1

Почему npm не установит node-sass? Как я могу установить node-sass?

Bier Hier
источник
30
бегиnpm install --save-dev node-sass
Ашок R

Ответы:

369

Вот решение:

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

Наслаждайтесь!

Алекс Онозор
источник
21
Это сработало, но если бы кто-то мог добавить к ответу, почему это сработало, а простое npm install node-sassне сработало, это было бы поучительно.
Майкл Поттер
6
@AlexOnozor КАК ЭТО РАБОТАЕТ?
Бахман.
13
все, что мне нужно, это установить node-sass в зависимостях dev npm install --save-dev node-sass
Subhash Diwakar
3
Это сработало для меня. Я начал получать эту проблему, когда я установил узел 12 (когда я начал новый угловой проект в Angular 8). Мое приложение angular 6 больше не будет создавать и выдавать ошибку о node-sass. Все исправлено :)
панколог
10
--save-dev используется для того, чтобы ваше приложение могло найти модуль в локальных node_modules. --save-dev добавляет пакет в devDependencies в package.json. --unsafe - perm используется для запуска скриптов установки от имени пользователя root. Чтобы избежать sudo, используйте вместо этого nvm. --unsafe - Пермь действительно не нужна, так как sudo уже упоминалось. Таким образом, команда в основном сжимает скрипт для установки node-sass любой ценой.
Рахул Шарма
92
  1. Эта ошибка для узла-sass отсутствует ... для решения этой проблемы вы просто хотите выполнить следующую команду

npm install node-sass

Кедар Кокил
источник
36
добавить как devDependencies npm install --save-dev node-sass.
Ашок R
5
Не помогает Я уже установил node-sass десятки раз (что было непросто), но все равно не получается. Node-sass явно проблема.
мкв
2
@AshokR Не могли бы вы уточнить, ПОЧЕМУ именно добавление его как devDependencies решает проблему? Как он НЕ потерпит неудачу при развертывании на Prod?
Amogh Natu
19

Бегать:

npm rebuild node-sass --force              

и это будет работать нормально.

ПЕНГ ЧЖУ
источник
2
Не работает нормально, к сожалению. Для меня (на окнах) проблема остается.
мкв
14

Согласно странице github node-sass, поддерживаемая версия node.js зависит от выпуска.

https://github.com/sass/node-sass

введите описание изображения здесь

Пример. Проверьте версию используемого вами узла.

node -v
-> v12.0.0

вам нужен node-sass v4.12 +. так что вы можете

npm install node-sass@4.12.0

или если 4.12.0 является самым последним

npm install node-sass@latest

( npm install node-sassустановит последнюю версию во многих случаях, но помните, что она не всегда устанавливает последнюю версию (в этом примере 4.12.0), если зависимость в package.json написана как ^ 3.0.0, ~ 4.11.0) В чем разница между тильдой (~) и кареткой (^) в package.json?

Наконец, использование sudo с npm не является хорошей практикой. Пожалуйста, обратитесь к этой статье. https://medium.com/@ExplosionPills/dont-use-sudo-with-npm-still-66e609f5f92

ohkts11
источник
это решение сработало для меня ... Я использовал более старый MacBook 2010 года, OSX 10.12, и соответствовал версии node-sass, как описано здесь, решил это
Theuns Alberts
«НАЯ установка node-sass@4.12.0» - решить мою проблему - спасибо
gavgrif
13

Делать, npm uninstall node-sassа потом npm i node-sass, не работал для меня.

Решение сработало для меня npm install --save-dev node-sass.

Удачного кодирования ..

Бандхам Маниканта
источник
1
Спасибо @ShortlyFD :) :) .. Обновил ответ.
Бэндхэм Маниканта
6

У меня это сработало ...

sudo npm rebuild node-sass --force
Вибху Кумар
источник
3
Дайте некоторое объяснение, чтобы было легко понять решение
Харша Бияни
4

node-sass не устанавливается, и это может быть одной из многих причин

Вы не установили его

npm install node-sass --save-dev

У вас есть ошибка прав доступа

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

У вас была проблема с памятью, потому что она пыталась это сделать (собрать из кода на вашей платформе), это относится к некоторым платформам и версиям узлов

node --max_old_space_size=8000 $(which npm) install node-sass --save-dev

Версии вашего узла и npm несовместимы, что, скорее всего, привело к сбою в процессе сборки,

В этом случае используйте n или nvm, чтобы убедиться, что у вас одинаковая версия в новой и исходной среде, в которой она работала, как это обычно происходит при использовании разных версий в разных средах.

zardilior
источник
4

Это то, что сработало для меня. Сначала я удаляю node-sass. Затем установите его обратно.

npm удалить узел-sass
npm установить --save-dev node-sass

Олу Айени
источник
3

Это не помогло мне, потому что я использовал последнюю версию узла (12.7.0), после чего мне пришлось явно установить последнюю версию node-sassс:

npm install node-sass@4.12.0

Андреас Гассманн
источник
2

Существует проблема с загрузкой зависимостей npm из-за имеющейся сети. попробуйте скачать зависимости npm в открытой сети. вы не получите никаких проблем. Я тоже столкнулся с подобной проблемой и наконец решил.

используйте следующие команды: npm install (он загрузит все зависимости) npm start, чтобы запустить угловое приложение

Рави Мароджу
источник
@TinySkillz я думаю, что он упоминает сети без прокси
Akhil S Kamath
2

npm install node-sass выполнит эту работу в большинстве случаев, так как добавит отсутствующий модуль зависимости sass npm, не существует или перезапишет предыдущую сбойную версию.

Для пользователей Mac sudo команды, указанные выше.

На машинах с Windows npm rebuild node-sass --force некоторые пользователи могут не работать, потому что в сущности говорится: «Пожалуйста, заставьте npm перестроить модуль sass для меня». Это не будет работать, потому что этот модуль не существует.

Всякий раз, когда вы делали npm installначальную установку, модуль sass не устанавливался, поэтому возникает эта проблема.

surendrapanday
источник
2

Я проверил версию Node на моей локальной машине, которая v10.11.0 .

Затем, когда я проверил свою машину для разработки, где произошла ошибка, у нее была версия Node V.10.8.0 .

Обновление узла до v10.11.0 моей машины разработки решило проблему.

Надеюсь это поможет.

davecar21
источник
1
это ответ, который работал в моем случае. Спасибо.
Адеш Кумар
2

В моем случае я должен был также выполнить:

npm install sass-loader

Решить проблему

обкрадывать
источник
2

Я исправил эту проблему без установки node-sass с помощью этой команды:

npm install node-sass@4.12.0 --no-save --unsafe-perm
Джоффри Эрнандес
источник
2

Попробуйте, sudo npm install node-sass@4.12.0если версия вашего узла 12.

Саджид Джавед
источник
1

Если вы бежите

npm install node-sass

и это все еще не работает, не забудьте изменить разрешение на папку

Клаудио Альберти
источник
1

Одним из случаев является сбой процесса после установки. Сразу после установки node-sass будет выполнен скрипт после установки. Для этого требуется Python и сборщик C ++. Журнал «GYP: Xcode или CLT версия не обнаружена!» возможно, потому что это не могло найти никакого строителя C ++. Поэтому попробуйте установить Python и любой сборщик C ++, а затем поместить их каталоги в переменные окружения, чтобы npm мог их найти. (Я из Windows)

Ван Хунг
источник
1

Я столкнулся с этой ошибкой, когда использовал встроенный git-терминал Microsoft Visual Studio Code. По какой-то странной причине код VS не позволил мне установить 'node-sass'. Затем я использовал Git Bash (который был установлен вместе с git) и выполнил следующую команду: npm install node-sass У меня это сработало. Я не знаю почему и как это сработало. Если у кого-нибудь есть объяснение, пожалуйста, дайте мне знать.

snsakib
источник
Я подозреваю, что это потому, что вам нужно было работать в качестве администратора
панколог
1

У меня была похожая проблема, когда я пытался запустить проект. Сначала я удалил текущую версию

npm uninstall node-sass

Затем я переустановил до последней версии с

npm install node-sass
Памудитха Наваратне
источник
1

Установка npm --save-dev --unsafe-perm node-sass

Это сделает магию, вы можете использовать его с sudo

yasir_mughal
источник
1

Моя проблема заключалась в том, что веб -фильтр не позволил мне загрузить пакет node-sass , когда я выполнил команду

npm i

После установки инструментов сборки Windows

npm i -g windows-build-tools

это основано node-sassна его собственном, и теперь я могу использовать это.

PS: Я также установил Python 2.7.17 раньше, но я не думаю, что это помогло.

тестирование
источник
0

Я также столкнулся с этой ошибкой. Ни один из вышеперечисленных методов не работает для меня. Пожалуйста, следуйте этому, как это работает для меня.

Для установки node-sass в Ubuntu 16 через npm: -

Вы можете установить с версией npm 5.2.0

Если вы используете nvm: -

NVM установить 8.2.1
использование nvm 8.2.1
npm установить node-sass

Если вы используете npm отдельно, обновите или понизьте версию npm до 5.2.0

npm установить node-sass
Парас Агарвал
источник
0

Вы должны попытаться проверить журнал, созданный npm install.

Я столкнулся с теми же проблемами и обнаружил ошибку, что python2 не найден в пути (переменная окружения).

После установки Python все работало нормально.

Nadreak
источник
0

Обновление до последней версии nodeJS решило мою проблему

Omtechguy
источник
0

Я исправил эту проблему, установив версию узла v10.16.10 .

Дионис Орос
источник
0

У меня была такая же ошибка при установке зависимостей в Angular . Я пробовал вышеупомянутые методы, но ни один из них не работал, пока я не удалил, package-lock.jsonкоторый был ранее создан при запуске Node v11 .

Сейчас я использую Node v12 так что я так решил.

Я повторяю, если у вас есть package-lock.jsonудалить его, файл, а затем установить зависимости.

Мухаммед Вакас Дилавар
источник
0

Я столкнулся с той же проблемой при установке node-sass, когда я нахожусь на Node 12.9.0

После переключения на узел 10.19.0 проблема исчезла.

Ссылка: https://github.com/sass/node-sass/issues/2632

Хунбо Мяо
источник
0

Вы должны установить node-sass в разделе dev пакета package.json

npm install --unsafe-perm node-sass --save-dev  
хамид_реза хобаб
источник
0

Кажется, есть проблема с версией "node-sass": "4.5.3", попробуйте обновить до последней версии. Например, вы можете попробовать добавить ^ "node-sass": "^4.5.3"последнюю версию

Abzy
источник
-3

просто запустите эту команду в терминале, она установит последнюю версию node-sass

npm install node-sass

Миан Таймур Тахир
источник