2016-06-27 27 views
6

Niedawno kupiłem komputer Mac, który korzysta z Mac OSX El Capitan v10.11.4. Zainstalowałem węzeł z homebrew i używam węzła v6.2.2 i npm v3.9.5. Otrzymuję błąd z bcrypt podczas npm install, które moim zdaniem wynika z błędu node-gyp rebuild. Niedawno pobrałem także xcode-select (wersja 2343) i kod xcode (7.3.1) (w tej kolejności).Dlaczego odbudowa węzła-gypu zawodzi w systemie Mac OSX El Capitan

Oto pełna moc błędu po biegnę npm install:

https://gist.github.com/varunjayaraman/5734af617d616437cd5b3456b20bc503

Nie wiem, co się dzieje źle. Pochodzę z ziemi linuxowej i mam tendencję do bycia ostrożnym, nie instalując z własnego źródła, więc może to jest przyczyną tych problemów? W każdym razie, jakakolwiek rada byłaby bardzo ceniona. Ten błąd pojawił się również u innych osób, ale żadne z tych rozwiązań nie działało (gdy piszę: xcode-select --print-path, otrzymuję /Applications/Xcode.app/Contents/Developer)

+0

Regularnie widzę problem występujący w instalacjach Homebrew węzła, które są rozwiązywane za pomocą [oficjalny instalator] (https://nodejs.org/en/download/current/). Może być warte spróbowania. – robertklep

Odpowiedz

6

Ten też mnie ugryzł. Było kilka różnych rozwiązań, z których tylko jedna zadziałała.

Po pierwsze, upewnij się, że masz zainstalowane narzędzia wiersza poleceń XCode, jak mówią na ich npm page.

1) Najprostszym rozwiązaniem, które oczywiście nie zadziałało (chociaż wygląda na to, że u niektórych osób), jest po prostu usunięcie katalogu ~/.node-gyp. Więc równie dobrze możesz zrobić zdjęcie, a także usunąć katalog i wykonać kolejny npm install.

2) Odinstaluj Node-Gyp i ponownej instalacji:

sudo npm uninstall node-gyp -g 
npm uninstall node-gyp 
npm install 

3) Ale to, co zrobił trick było rozwiązanie podane in a node-gyp issue on github, gdzie trzeba zainstalować inną wersję węzła i zrobić swoją npm zainstalować w ten sposób. Jest to łatwiejsze niż się wydaje, ale to dość brutto:

sudo npm cache clean -f 
sudo npm install -g n 
sudo n 4.4.5 
sudo npm install npm -g 
sudo npm uninstall node-gyp -g 

Następnie spróbuj uruchomić npm zainstalować.

Nadzieję, że pomaga!