BŁĄD w Nie można znaleźć modułu „node-sass”

185

Konfiguracja: macOS High Sierra, wersja 10.13.2, węzeł: v8.1.2 npm: 5.0.3 Gdy uruchamiam npm start w moim projekcie angularjs, pojawia się ten błąd:

ERROR in Cannot find module 'node-sass'

Po tym biegnę:

npm i node-sass

Teraz pojawia się ten błąd:

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

Dlaczego npm nie zainstaluje node-sass? Jak mogę zainstalować node-sass?

bier hier
źródło
30
biegnpm install --save-dev node-sass
Ashok R

Odpowiedzi:

368

Oto rozwiązanie:

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

Cieszyć się!

Alex Onozor
źródło
21
To zadziałało, ale gdyby ktoś mógł dodać do odpowiedzi, dlaczego to zadziałało, a proste npm install node-sassnie zadziałały, byłoby to pouczające.
Michael Potter
6
@AlexOnozor JAK TO DZIAŁA?
Bahman. A
13
wszystko, czego potrzebowałem, to zainstalować node-sass w zależnościach dev npm install --save-dev node-sass
Subhash Diwakar
3
To zadziałało dla mnie. Zacząłem napotykać ten problem, kiedy zainstalowałem węzeł 12 (kiedy zacząłem nowy projekt kątowy w Angular 8). Moja aplikacja Angular 6 nie będzie już budować i wyświetlać błędu dotyczącego node-sass. Wszystko naprawione :)
punkologist
10
--save-dev jest używane, aby aplikacja mogła znaleźć moduł w lokalnych modułach node_modules. --save-dev dodaje pakiet do devDependencies w package.json. --unsafe - perm służy do uruchamiania skryptów instalacyjnych jako root. Aby uniknąć sudo, użyj zamiast tego nvm. --unsafe - perm naprawdę nie jest potrzebny, ponieważ sudo zostało już wspomniane. Więc polecenie w zasadzie air ogranicza skrypt do zainstalowania node-sass za wszelką cenę.
Rahul Sharma
92
  1. Ten błąd dotyczy węzła-sass nie występuje ... aby rozwiązać ten problem, po prostu chcesz uruchomić następujące polecenie

npm install node-sass

kedar kokil
źródło
36
dodaj jako devDependencies npm install --save-dev node-sass.
Ashok R
5
Nie pomaga. Już kilkanaście razy instalowałem node-sass (co nie było łatwe), ale nadal zawodzi. Node-sass jest oczywiście problemem.
mcv
2
@AshokR Czy możesz wyjaśnić dokładnie DLACZEGO dodanie go, ponieważ devDependencies rozwiązuje problem? W jaki sposób NIE zawiedzie, gdy zostanie wdrożony do produkcji?
Amogh Natu
19

Biegać:

npm rebuild node-sass --force              

i będzie działać dobrze.

PENG ZHU
źródło
2
Niestety nie działa dobrze. Dla mnie (w systemie Windows) problem pozostaje.
mcv
14

Zgodnie ze stroną github node-sass obsługiwana wersja node.js różni się w zależności od wydania.

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

wprowadź opis obrazu tutaj

Przykład: Sprawdź wersję używanego węzła.

node -v
-> v12.0.0

potrzebujesz node-sass v4.12 +. więc możesz

npm install node-sass@4.12.0

lub jeśli 4.12.0 jest najnowszy

npm install node-sass@latest

( npm install node-sassw wielu przypadkach zainstaluje najnowszą wersję, ale pamiętaj, że nie zawsze instaluje najnowszą (w tym przykładzie 4.12.0), jeśli zależność w pliku package.json jest zapisana jako ^ 3.0.0, ~ 4.11.0) Jaka jest różnica między tyldą (~) a daszkiem (^) w package.json?

Wreszcie, używanie sudo z npm nie jest dobrą praktyką. Proszę zapoznać się z tym artykułem. https://medium.com/@ExplosionPills/dont-use-sudo-with-npm-still-66e609f5f92

ohkts11
źródło
to rozwiązanie zadziałało dla mnie ... Używałem starszego macbooka z 2010 roku, osx 10.12 i pasującego do wersji node-sass, jak opisano tutaj, rozwiązałem to
Theuns Alberts
„npm install [email protected]” - rozwiązałem mój problem - dziękuję
gavgrif
13

Robił, npm uninstall node-sassa potem npm i node-sassnie działał dla mnie.

Rozwiązanie zadziałało dla mnie to npm install --save-dev node-sass.

Miłego kodowania…

Bandham Manikanta
źródło
1
Dziękuję @ShortlyFD :) :) .. Zaktualizowałem odpowiedź.
Bandham Manikanta
6

U mnie zadziałało ...

sudo npm rebuild node-sass --force
Vibhu kumar
źródło
3
Podaj wyjaśnienie, aby łatwo było zrozumieć rozwiązanie
Harsha Biyani
4

node-sass nie jest instalowany i może to być jeden z wielu powodów

Nie zainstalowałeś go

npm install node-sass --save-dev

Masz błąd uprawnień

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

Wystąpił problem z pamięcią, ponieważ próbował to zrobić (zbudować z kodu C na twojej platformie), dotyczy to niektórych platform i wersji węzłów

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

Twoje wersje node i npm nie są kompatybilne, co najprawdopodobniej spowodowało awarię w procesie budowania,

W takim przypadku użyj n lub nvm, aby upewnić się, że masz tę samą wersję w nowym i oryginalnym środowisku, w którym działała, ponieważ zwykle jest to przy użyciu różnych wersji w różnych środowiskach

zardilior
źródło
4

To właśnie zadziałało dla mnie. Najpierw odinstalowałem node-sass. Następnie zainstaluj go z powrotem.

npm uninstall node-sass
npm install --save-dev node-sass

Olu Ayeni
źródło
3

Nie udało mi się, ponieważ korzystałem z najnowszej wersji węzła (12.7.0), a następnie musiałem jawnie zainstalować najnowszą wersję node-sassz:

npm install [email protected]

Andreas Gassmann
źródło
2

Występuje problem z pobieraniem zależności npm z powodu sieci, którą masz. spróbuj pobrać zależności npm w otwartej sieci. nie będziesz mieć żadnego problemu. Stoję również w obliczu tego podobnego problemu i ostatecznie rozwiązany.

użyj poniższych poleceń: npm install (pobierze wszystkie zależności) npm start, aby uruchomić aplikację kątową

Ravi Maroju
źródło
@TinySkillz, myślę, że wspomina o sieciach bez proxy
Akhil S Kamath
2

npm install node-sass wykona zadanie w większości przypadków, ponieważ doda brakujący moduł zależności sass npm nie istnieje lub nadpisze poprzednią wersję, która uległa awarii.

Dla użytkowników komputerów Mac użyj sudoprzed powyższymi poleceniami.

Na komputerach z systemem Windows npm rebuild node-sass --forcemoże nie działać dla niektórych użytkowników, ponieważ zasadniczo mówi „proszę zmusić npm do odbudowania modułu węzła sass dla mnie”. To nie zadziała, ponieważ ten moduł nie istnieje.

Za każdym razem, gdy wykonałeś npm installpierwszą instalację, moduł sass nie został zainstalowany, co jest przyczyną tego problemu.

surendrapanday
źródło
2

Sprawdziłem wersję Node na moim komputerze lokalnym, czyli v10.11.0.

Następnie, gdy sprawdziłem maszynę deweloperską, na której wystąpił błąd, była to wersja Node V.10.8.0 .

Aktualizacja Node do v10.11.0na moim komputerze programistycznym rozwiązała problem.

Mam nadzieję że to pomoże.

davecar21
źródło
1
to jest odpowiedź, która zadziałała w moim przypadku. dzięki.
Adesh Kumar
2

W moim przypadku musiałem też wykonać:

npm install sass-loader

Naprawić problem

Obrabować
źródło
2

Naprawiłem ten problem bez instalowania node-sass za pomocą tego polecenia:

npm install node-sass@4.12.0 --no-save --unsafe-perm
Joffrey Hernandez
źródło
1

Jeśli uciekniesz

npm install node-sass

i nadal nie działa, pamiętaj o zmianie uprawnień do folderu

Claudio Alberti
źródło
1

Jednym z przypadków jest niepowodzenie procesu poinstalacyjnego. Zaraz po zainstalowaniu node-sass zostanie wykonany skrypt poinstalacyjny. Wymaga Pythona i konstruktora C ++ do tego procesu. Dziennik „gyp: Nie wykryto wersji Xcode ani CLT!” może dlatego, że nie mógł znaleźć żadnego konstruktora C ++. Spróbuj więc zainstalować Python i dowolny program do tworzenia C ++, a następnie umieść ich katalogi w zmiennych środowiskowych, aby npm mógł je znaleźć. (Pochodzę z Windows)

Van Hung
źródło
1

Napotkałem ten błąd podczas korzystania ze zintegrowanego terminala git programu Microsoft Visual Studio Code. Z jakiegoś dziwnego powodu kod VS nie pozwolił mi zainstalować „node-sass”. Następnie użyłem `` Git Bash '' (który został zainstalowany z git) i uruchomiłem następujące polecenie: npm install node-sass zadziałało dla mnie. Nie wiem, dlaczego i jak to działało. Jeśli ktoś ma jakieś wyjaśnienie, daj mi znać.

snsakib
źródło
Podejrzewam, że to dlatego, że
musiałeś
1

Miałem podobny problem, gdy próbowałem uruchomić projekt. Najpierw odinstalowałem aktualną wersję

npm uninstall node-sass

Następnie ponownie zainstalowałem najnowszą wersję z

npm install node-sass
Pamuditha Navaratne
źródło
1

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

To zrobi magię, możesz jej użyć z sudo

yasir_mughal
źródło
1

Mój problem polegał na tym, że filtr sieciowy nie pozwalał mi pobrać pakietu node-sass , kiedy wykonałem polecenie

npm i

Po zainstalowaniu narzędzi kompilacji systemu Windows

npm i -g windows-build-tools

buduje node-sasssię samodzielnie i teraz mogę go używać.

PS: Wcześniej zainstalowałem też Pythona 2.7.17, ale nie sądzę, żeby to pomogło.

testowanie
źródło
0

Miałem też do czynienia z tym błędem. Żadna z powyższych metod nie działa dla mnie. Proszę postępuj zgodnie z tym, ponieważ zadziałało dla mnie.

Aby zainstalować node-sass w Ubuntu 16 przez npm: -

Możesz zainstalować z wersją npm 5.2.0

Jeśli używasz NVM: -

nvm install 8.2.1
nvm użyj 8.2.1
npm zainstaluj node-sass

Jeśli używasz osobno npm, uaktualnij lub obniż wersję npm do 5.2.0

npm zainstaluj node-sass
Paras Agarwal
źródło
0

Powinieneś spróbować sprawdzić dziennik wygenerowany przez npm install.

Napotkałem te same problemy i znalazłem błąd, że python2 nie został znaleziony w ścieżce (zmienna środowiskowa).

Po zainstalowaniu Pythona wszystko działało dobrze.

Nadreak
źródło
0

Aktualizacja do najnowszej wersji nodeJS rozwiązała mój problem

Omtechguy
źródło
0

Rozwiązałem ten problem, instalując wersję węzła 10.16.10 .

Dionis Oros
źródło
0

Miałem ten sam błąd podczas instalowania zależności w Angular . Wypróbowałem wyżej wymienione techniki, ale żadna z nich nie działała, dopóki nie usunąłem tego, package-lock.jsonktóry został wcześniej utworzony podczas uruchamiania Node v11 .

Teraz używam Node v12, więc tak zostałem rozwiązany.

Powtarzam, jeśli masz package-lock.jsongo usunąć, plik, a następnie zainstalować zależności.

Muhammad Waqas Dilawar
źródło
0

musisz zainstalować node-sass w sekcji dev pliku package.json

npm install --unsafe-perm node-sass --save-dev  
hamid_reza hobab
źródło
0

Wygląda na to, że wystąpił problem z wersją "node-sass": "4.5.3", spróbuj zaktualizować do najnowszej wersji. Na przykład możesz spróbować dodać ^ "node-sass": "^4.5.3"najnowszą wersję

Abzy
źródło
-3

po prostu uruchom to polecenie w terminalu, zainstaluje najnowszą wersję node-sass

npm install node-sass

Mian Taimoor Tahir
źródło