2012-07-19 16 views
7

Usando este comando: npm install jsdom, en un intento de poner jsdom en funcionamiento para usarlo con un servidor node.js, aparece la siguiente serie de errores. ¿Podría alguien ayudarme a aclarar este problema? Creo que también podría haber un problema porque no puede instalar contextify ... ¡gracias de antemano!Problema que instala JSDOM en 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] 

Respuesta

14

Necesita que GCC compile estos módulos node.js.

  1. Visita la App store y descarga la última versión de Xcode de forma gratuita.
  2. Instalar Xcode (la tienda de aplicaciones de realidad descarga el "instalador" de Xcode)
  3. inicio Xcode
  4. Ir a Preferencias
  5. zona de descargas
  6. Haga clic en el botón "Instalar" después de "Herramientas de línea de comandos "
  7. reinicio

Done! :)

+0

Huh, creo que esto funcionó, sin embargo, sigo recibiendo un error en mi aplicación que estoy tratando de implementar. Sé que esto está fuera del alcance de esta pregunta y tal vez solo le pregunte a otro, pero ¿tiene alguna idea de lo que significa este error? /Users/dereklo/Node/node_modules/jsdom/lib/jsdom.js:171 características = JSON.parse (JSON.stringify (window.document.implementation._fea ^ TypeError: No se puede leer la propiedad 'implementación' de la indefinida – Apollo

+0

Intenta depurar y ver qué contiene "window.document", no contiene nada ("undefined"), esto es porque "window.document" es javascript del lado del cliente? No sé exactamente lo que estás intentando hacer pero window.document debería ser usado @ clientside javascript not node.js. – onlineracoon

+0

@Derek Go descargar e instalar Python (http://www.python.org/getit/mac/), después de la instalación, vaya a la terminal y escriba " python "para ver si está activando, si no está activando necesita agregar variables de entorno para asegurarse de que está funcionando. Reiniciar, vuelva a intentar compilar el módulo Node.js, terminado :) – onlineracoon

1

Después de asegurar que XCode Command Line Tools se instalaron, todavía tenía problemas con npm install jsdom. Resulta que aún estaba ejecutando mi servidor de nodos por lo que la instalación fallaría. Para cualquier otra persona que pueda encontrarse con este problema, asegúrese de presionar Ctrl + C para detener su servidor y luego haga npm install jsdom. ¡Trabajado como un encanto! :)