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?


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ę!


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


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.


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


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 node-sass@4.12.0” - 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…


1
Dziękuję @ShortlyFD :) :) .. Zaktualizowałem odpowiedź.
Bandham Manikanta


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


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


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 node-sass@4.12.0


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ą


@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.


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.


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


2

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

npm install node-sass@4.12.0 --no-save --unsafe-perm


1

Jeśli uciekniesz

npm install node-sass

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


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)


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ć.


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

1

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

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


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.


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

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.




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.



0

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

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

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ę


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.