J'essaie de configurer Nodejs pour accéder à une base de données Postgres. Ce que j'ai fait jusqu'à présent, c'est le suivant (https://gist.github.com/579814): puis p> Jusqu'à présent, si bon. Cependant, lorsque j'essaie d'installer le pilote Postgres P> Checking for program g++ or c++ : /usr/bin/g++
Checking for program cpp : /usr/bin/cpp
Checking for program ar : /usr/bin/ar
Checking for program ranlib : /usr/bin/ranlib
Checking for g++ : ok
Checking for node path : not found
Checking for node prefix : ok /usr/local
Checking for program pg_config : /usr/bin/pg_config
'configure' finished successfully (0.066s)
Waf: Entering directory `/home/christian/node_modules/pg/build'
[1/2] cxx: src/binding.cc -> build/default/src/binding_1.o
../src/binding.cc:3:25: fatal error: node_events.h: No such file or directory
compilation terminated.
Waf: Leaving directory `/home/christian/node_modules/pg/build'
Build failed: -> task failed (err #1):
{task: cxx binding.cc -> binding_1.o}
4 Réponses :
fais cela à bash:
ECHO 'export node_path = ~ / local /: ~ / local / nœud_modules' >> ~ / .bstrucc code> p> p>
Merci, cela a effectivement contribué à corriger le chemin du nœud, bien que l'erreur de ne pas trouver le nœud_events.h reste restée.
Regardez / home / chrétien / nœud_modules / pg / build est node_events.h n'importe où. Et regardez d'autres modules. Est-ce que le l'a?
ne pouvait pas localiser node_events.h n'importe où, il semble donc manquer pour une raison quelconque. Il me semble que nœud_events.h a été supprimé de Nodejs ( Github.com /joyent/node/commits/master/src/node_events.h ), alors est-il possible que le pilote PG l'exige toujours?
Je pense que c'est votre problème. NODEJS et ses modules de DB utilisent une machine d'événements pour les appels asynchrones. De sorte que la façon dont pg a besoin aussi.
Avant que les choses ne soient fixées, vous devez utiliser le nœud 0.5.1 (vous pouvez utiliser Gitk pour revenir à l'arborescence à cette version)
Auteur: Ryan Dahl <ry@tinyclouds.org> 2011-07-19 10:46:38 Auteur du commit: Ryan Dahl <ry@tinyclouds.org> 2011-07-19 10:46:38 Parent: 0a3fc1d9c8becc32c63ae736ca2b3719a3d03c5b (Remove StatWatcher's dep on C++ EventEmitter) Enfant: 061ce7b0ac370c8a5ae93d95ab7da171cbd488f0 (net_uv: Fix simple/test-http-expect-continue.js) Branche: master, remotes/origin/master Suit: v0.5.1 Précède: v0.5.2 Finally remove node::EventEmitter
J'ai eu le même problème. La question était que je spécifiais une ancienne version de pg dans mon paquet.js Après avoir supprimé l'ancienne dépendance de la version, j'ai pu installer PG sans problème. P>
Maintenant, vous avez des NODEJS installé dans votre Ubuntu. Vous devez définir / etc / environnement code> et charger le chemin NDEJS pouvant être exécuté par un autre utilisateur. Par exemple:
Pourquoi cette annonce d'hébergement libre ici: o
Dans les versions plus récentes de Node.js, NPM est incluse avec noeud. Vous ne devriez pas avoir besoin de faire
curl http://npmjs.org/install.sh | sh code>.