2012-07-19 15 views
7

Używając tego polecenia: npm install jsdom, próbując uruchomić jsdom i uruchomić go do pracy z serwerem node.js, pojawia się następujący szereg błędów. Czy ktoś mógłby pomóc w wyjaśnieniu tego problemu? Myślę, że może być też problem, ponieważ nie można zainstalować kontekstify ... z góry dzięki!Problem z instalacją JSDOM na mac

npm http GET https://registry.npmjs.org/jsdom 
npm http 304 https://registry.npmjs.org/jsdom 
npm http GET https://registry.npmjs.org/htmlparser 
npm http GET https://registry.npmjs.org/cssom 
npm http GET https://registry.npmjs.org/contextify 
npm http 304 https://registry.npmjs.org/contextify 
npm http 304 https://registry.npmjs.org/cssom 
npm http 304 https://registry.npmjs.org/htmlparser 
npm WARN package.json [email protected] No README.md file found! 
npm http GET https://registry.npmjs.org/bindings 
npm http 304 https://registry.npmjs.org/bindings 

> [email protected] install /Users/dereklo/node_modules/jsdom/node_modules/contextify 
> node-gyp rebuild 

gyp ERR! rebuild error Error: not found: make 
gyp ERR! rebuild error  at F (/usr/local/lib/node_modules/npm/node_modules/which/which.js:43:28) 
gyp ERR! rebuild error  at E (/usr/local/lib/node_modules/npm/node_modules/which/which.js:46:29) 
gyp ERR! rebuild error  at /usr/local/lib/node_modules/npm/node_modules/which/which.js:57:16 
gyp ERR! rebuild error  at Object.oncomplete (fs.js:297:15) 
gyp ERR! not ok 
npm WARN optional dep failed, continuing [email protected] 
[email protected] node_modules/jsdom 
├── [email protected] 
└── [email protected] 

Odpowiedz

14

Potrzebujesz GCC do kompilacji tych modułów node.js.

  1. Przejdź do sklepu App Store i pobierz najnowszą wersję Xcode za darmo.
  2. zainstalować Xcode (sklep aplikacja faktycznie pobiera "Instalator" dla Xcode)
  3. Uruchom Xcode
  4. Idź do Preferencji
  5. idź do pliki do pobrania
  6. kliknij na "install" przycisk po „Command Line Tools "
  7. Reboot

Gotowe! :)

+0

Huh, myślę, że to zadziałało, jednak wciąż otrzymuję błąd w mojej aplikacji, którą próbuję wdrożyć. Wiem, że to wykracza poza zakres tego pytania i może po prostu spytam innego, ale czy masz pojęcie, co oznacza ten błąd? /Users/dereklo/Node/node_modules/jsdom/lib/jsdom.js:171 features = JSON.parse (JSON.stringify (window.document.implementation._fea ^ TypeError: Nie można odczytać "implementacji" właściwości niezdefiniowanej – Apollo

+0

Spróbuj debugować i zobacz, co zawiera plik "window.document", nie zawiera on niczego ("undefined"), ponieważ "window.document" to javascript na kliencie? Nie wiem dokładnie, co próbujesz do zrobienia ale window.document powinien być użyty @ clientside javascript nie node.js. – onlineracoon

+0

@Derek Go pobierz i zainstaluj Python (http://www.python.org/getit/mac/), po instalacji przejdź do terminala i wpisz " python "aby sprawdzić, czy uruchamia się, jeśli nie uruchamia się, należy dodać zmienne środowiskowe, aby upewnić się, że działa. Uruchom ponownie, spróbuj ponownie skompilować moduł Node.js, zakończony :) – onlineracoon

1

Po zainstalowaniu narzędzi wiersza poleceń XCode nadal miałem problemy z npm install jsdom. Okazuje się, że nadal działał mój serwer węzłowy, więc instalacja się nie powiedzie. Dla każdego, kto może natknąć się na ten problem, upewnij się, że Ctrl + C zatrzymuje serwer, a następnie wykonaj npm install jsdom. Pracował jak urok! :)

Powiązane problemy