Mam problemy z budowaniem aplikacji, ponieważ błąd węzła ciągle zawiedzie.
BŁĄD w brakującym powiązaniu / Użytkownicy / warren/Sites/random-docs/my-cms/node_modules/node-sass/vendor/darwin-x64-11/binding.node
Węzeł Sass nie mógł znaleźć powiązania dla bieżącego środowiska: OS X 64-bit z Node 0.10.x
Próbowałem biegać
npm rebuild node-sass
który mówi
Binarny jest w porządku; wychodzę.
Podczas pracy node -v
dostaję wersję 6.2.2
Co różni się od tego, co mówi błąd sass „Węzeł 0.10.x”. Nie mogę zrozumieć, dlaczego robi się zła wersja. Próbowałem również usunąć folder node_modules i uruchomić aktualizację npm lub instalację npm, które nie rozwiązały problemu. Jakieś pomysły?
nvm
? Jeśli tak się dzieje, to popsuwa niektóre ścieżki modułu npm i próbują użyć wersji innej niż bieżąca. Jeśli nie, zawsze możesz spróbować usunąćnode_modules
folder i ponownie zainstalować zależnościOdpowiedzi:
Miałem ten sam problem
Jak rozwiązać mój problem
Wchodząc do folderu projektu, a następnie wykonaj:
źródło
/usr/local/lib/
używać CMD + SHIFT + G w wyszukiwarce i przemianowałem folder node-sass. Potem pobiegłnpm install node-sass -g
. to naprawiono.v10.7.0
Węzeł-Sass:v3.13.1
. Mówi, że moje obecne środowisko to 32-bitowe okna z węzłem 0.10.x, co po prostu nie jest prawdą.node_modules
i uruchomienie,npm install
a nie odbudowanie sass węzła.Uwaga: Używam VS 2015, 64-bitowego systemu Windows 7.
Działa również dla VS 2017 i VS 2019 (od odpowiedzi na ten post)
Task Runner Explorer nie może załadować zadań
Dla VS 2015
Dla VS 2017 (.3)
Usuwanie
node_modules
i uruchamianie,npm install
a następnienpm rebuild node-sass
nic nie robiło .źródło
Tools > Options > Projects and Solutions > Web Package Management > External Web Tools
Miałem ten sam problem w środowisku Windows, otrzymując następujący błąd:
Żaden z
npm
poleceń wymienionych w innych odpowiedzi tutaj (npm install
,npm rebuild node-sass
etc.) pracował.Zamiast tego musiałem pobrać brakujące powiązanie i umieścić je w odpowiednim folderze docelowym.
Wiązania można znaleźć na git . Dopasuj plik do nazwy folderu wskazanej po
/node_modules/node-sass/vendor/
w komunikacie o błędzie (w twoim przypadku „darwin-x64-11”, więc potrzebujeszdarwin-x64-11_binding.node
pliku).Utwórz brakujący folder w swoim projekcie (
/node_modules/node-sass/vendor/darwin-x64-11
), skopiuj.node
plik do nowego katalogu i zmień jego nazwę nabinding.node
.Adres URL wydania Node-sass: https://github.com/sass/node-sass/releases
źródło
Pracował dla mnie:
Wystarczy usunąć folder sass węzła i uruchomić
npm install
.źródło
npm rebuild node-sass
nie działało dla mnie. (Mac z WebStorm)npm rebuild node-sass --force
też nie działał.Po prostu wykonaj:
npm rebuild node-sass --force
Jeśli powyższe z jakiegoś powodu nie zadziałało, spróbuj tego:
node-sass
folder podnode_modules
npm install
W moim przypadku również nie można go znaleźć
Python
.Poniższa procedura rozwiązała problem (Windows):
źródło
npm rebuild node-sass --force
Lub jeśli używasz sass-node w kontenerze:
docker exec <container-id> npm rebuild node-sass --force
Ten błąd występuje, gdy sass węzła nie ma poprawnego powiązania dla bieżącego systemu operacyjnego.
Jeśli korzystasz z Dockera, ten błąd zwykle występuje, gdy dodajesz
node_modules
bezpośrednio do systemu plików kontenera w pliku Docker (lub montujesz go za pomocą woluminu Docker).Architektura kontenera prawdopodobnie różni się od obecnego systemu operacyjnego. Na przykład zainstalowałem sass-node na macOS, ale mój kontener działa w systemie Ubuntu.
Jeśli wymusisz przebudowanie węzła-sass z poziomu kontenera, węzeł-sass pobierze prawidłowe powiązania dla systemu operacyjnego kontenera.
Zobacz moją skrzynkę repro, aby dowiedzieć się więcej.
źródło
npm install
(lub nie) w oknie dokowanym jest problematyczne, gdy masz moduły zależne od architektury: uzyskanie binariów darwin lub linux w zależności od tego, gdzie sięnpm i
dzieje To się dzieje w przypadku modułów NodeJS, takich jaknode-sass
lub@google-cloud/pubsub
/node_modules
który był wiązany, zamontowany w pojemniku na/app/node_modules
. Mimo że mójNODE_PATH
był/node_modules
(który istniał) i powinien był znajdować się w innym miejscu .., losowo zaczął powodować problemy. Zainstalowałem w obu miejscach, aby mój programista dla ładniejszych pracował z moim vscode. ups dziwne rzeczy. Dziękujemy za wspomnienie dokera <3Miałem podobny problem, a przyczyną było to, że na moim komputerze były zainstalowane dwie wersje Node: jedna „globalna”, a druga na poziomie projektu. Sass zbuduje poprawnie tylko wtedy, gdy kompilacja Gulp działa pod wersją Node.js 4.x, więc upewnij się, że zaktualizowałeś wersję używanego Węzła.
PS: Jeśli całkowicie usuniesz folder node_modules w swoim projekcie i przebudujesz od zera, npm pobierze prawidłowe zależności dla aktualnej wersji systemu i węzła.
źródło
w niektórych przypadkach musisz odinstalować i zainstalować bibliotekę węzła sass. Próbować:
i
spójrz na to, co dla mnie działa, link Stos tutaj
źródło
Spróbuj dodać przyrostek --force
źródło
W moim przypadku żadna z powyższych odpowiedzi nie zadziałała. Więc co to działało:
npm cache verify
aby sprawdzić, czy nic nie zostało w pamięci podręcznejChociaż nie próbowałem odtworzyć sekwencji, zadziałała kombinacja powyższych. Ponadto możesz także spróbować:
npm install --save node-sass
lubnpm install node-sass -g
źródło
* Odpowiedź związana z dokerem tutaj *
Odpowiedz, jeśli widzisz ten problem lub coś podobnego i używasz Dockera.
Przyczyna: Podczas kopiowania bieżącej struktury plików do kontenera Docker, możesz kopiować przez moduły węzłów z jednego systemu operacyjnego do drugiego (np. Kontenera Mac na Linux).
Rozwiązanie:
Dodaj
.dockerignore
, a wewnątrz dodaj:node_modules
Spowoduje to
npm install
zainstalowanie powiązań w środowisku dokera, a nie w środowisku komputera lokalnego.źródło
Miałem ten sam problem
To dlatego, że zainstalowałem npm przy użyciu innej wersji nodejs, spróbuj usunąć folder node_modules, instalując i uruchamiając
Jeśli używasz NVM, zrób
źródło
Miałem ten sam problem z Node v7.4.0 Current (najnowsze funkcje).
Czytałem tu trochę i obniżyłem wersję Node do wersji 6.0.4 LTS, a po uruchomieniu pobrałem
npm rebuild node-sass
plik binarny i wszystko zaczęło działać.źródło
node-sass
moduł węzła używadarwin
pliku binarnego, który jest zależny od wersji węzła. Ten problem występuje, gdy plik binarny nie zostanie pobrany lub pobrany zostanie niewłaściwy plik binarny.Ponownie zainstaluj moduły węzłów pobiorą oczekiwany plik binarny sass-węzła: -
Użytkownicy komputerów Mac:
Dla użytkowników systemu Windows:
ale w przypadku niektórych użytkowników należy sprawdzić zgodność wersji węzła z wersją sass węzła. Ustaw go zgodnie z poniższą tabelą i ponownie uruchom powyższe polecenia, aby rozwiązać ten problem.
Jeśli problem nadal nie został rozwiązany, sprawdź listę obsługiwanych środowisk node-sass: - https://github.com/sass/node-sass/releases/
źródło
W przypadku programu Visual Studio 2015/2017 kliknij prawym przyciskiem myszy
package.json
i kliknij Przywróć pakiety.To upewni się, że npm z Visual Tools Tools External Tools jest uruchomiony i powiązanie zostanie odbudowane na tej podstawie.
źródło
Dzieje się tak, gdy na stacji roboczej uruchamiasz aktualizację Node.js i używasz globalnie węzła sass.
Więc powinieneś odinstalować sass węzła globalnie
I znowu musisz zainstalować go globalnie
źródło
Po prostu odśwież pamięć podręczną npm i:
Zawsze działa dla mnie w tym samym przypadku.
UPD: Twój problem może być również spowodowany brakiem globalnej sasslib.
źródło
Po prostu uruchom komentarz, to wszystko.
npm przebuduj sass węzła
miłego kodowania ...
źródło
W pocztowe Zależności dla węzła-Sass jest nie uzyskiwanie zainstalowany bez package.json wewnątrz węzła-Sass
kredyt: link
źródło
Zwykle dzieje się tak, ponieważ środowisko zmieniło się od czasu uruchomienia
npm install
. Uruchomienienpm rebuild node-sass
tworzy powiązanie dla bieżącego środowiska.źródło
Jestem użytkownikiem systemu Windows 8, niedawno zaktualizowałem Node
v8.11.1
i npm dov6.0.0
i napotkałem podobny problem. Nic nie działało -npm install -g node-sass@latest
lub usuwanienode-sass
katalogu z projektunode_modules/
- żaden z nich nie działał dla mnie.Laravel Mix rzucał błąd na konsolę przeglądarki mówiąc brakuje węzła:
win32-x64-57
. Nie wiem, czy to z powodu wolniejszego połączenia z Internetem, czy czegoś takiego, węzeł nie istniał podczas aktualizacji.Stąd niektóre odpowiedzi skłoniły mnie do przyjrzenia się wydaniom Node-Sass i znalazłem rozwiązanie.
npm view node-sass version
({your version}
w kroku 4)C:\Users\{User}\AppData\Roaming\npm-cache\node-sass\{your version}\
i umieść pobrany.node
plik w folderze wersjiI gotowe.
W moim przypadku była to wersja węzła-węzła,
4.9.0
a brakujący węzełwin32-x64-57_binding.node
, więc pobrałem.node
plik z wersji 4.9.0 i wykonałem krok 4.źródło
Podobny błąd, który napotkałem w Visual Studio 2015 Community Edition podczas tworzenia aplikacji AspNetCore, to:
Z powyższego błędu można zobaczyć, że przyczyną było niedopasowanie wersji w powiązaniach dla nodejs.
Rozwiązaniem, które znalazłem, było
źródło
To działało dla mnie Usuwanie,
node_modules
a następnie przywracanie pakietów z IDE, a następnienpm rebuild node-sass
źródło
Miałem ten problem podczas aktualizacji z VS 2017 Professional do Enterprise
źródło
Proszę napisać poniższe polecenie w folderze głównym.
npm przebuduj sass węzła
100% działa ...
źródło
Jeśli Twój terminal / wiersz poleceń mówi:
i wypróbowałeś następujące polecenia, takie jak:
i nadal NIC nie działa ..
Po prostu uruchom to ręcznie w terminalu:
teraz biegnij
źródło
node-sass uruchamia skrypt instalacyjny, aby pobrać wymagany plik binarny. Jeśli nie ma żadnych zmiennych środowiskowych, zmiennych .npmrc lub argumentów procesu, wartość binarna jest określana przy użyciu bieżącej platformy procesu, architektury i wersji Node ABI. Dlatego jeśli uruchomisz instalację węzła w jednej aplikacji, a następnie spróbujesz uruchomić sass węzła w aplikacji z inną platformą / architekturą / ABI, plik binarny nie zostanie pobrany. Rozwiązaniem jest ręczne pobranie pliku binarnego lub poprawienie wersji binarnej za pomocą zmiennej środowiskowej (SASS_BINARY_NAME) lub zmiennej .npmrc (nazwa_synchroniczna_sass)
Możesz zobaczyć logikę tego w funkcji getBinaryPath w node-sass \ lib \ extensions.js
źródło
Miałem ten sam problem. Nie mogłem znaleźć żadnego właściwego rozwiązania, więc znalazłem moje:
Zainspirowany rozwiązaniem @ Rob-Scott i innymi wskazówkami, że moglibyśmy zainstalować 2 wersje Node.js, poszedłem
C:\Program Files (x86)\nodejs
i zdałem sobie sprawę, że oprócz wersji domyślnej VS zainstalowałem wersję node.js.Moje rozwiązanie było dość proste:
add an entry
(najbardziej lewy górny prawy blok przycisków)C:\Program Files (x86)\nodejs
, sprawdź poprawność, naciskającenter
Prawdopodobnie Node.js nie jest dobrze ustawiony w zmiennej PATH, ale to jest moje bardzo szybkie rozwiązanie, moje 2 centy :)
źródło
Musiałem najpierw wybrać nową wersję domyślnego węzła
nvm use ***
lubnvm install ***
, a następnie usunąć wszystkie w node_modules w projekcie inpm i
ponownie.źródło
źródło