8
votes

Comment définir le chemin du nœud pour Nodejs (Ubuntu)

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): xxx pré>

puis p> xxx pré>

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}


1 commentaires

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 .


4 Réponses :


8
votes

fais cela à bash: ECHO 'export node_path = ~ / local /: ~ / local / nœud_modules' >> ~ / .bstrucc


4 commentaires

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.



0
votes

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


0 commentaires

0
votes

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.


0 commentaires

14
votes

Maintenant, vous avez des NODEJS installé dans votre Ubuntu. Vous devez définir / etc / environnement et charger le chemin NDEJS pouvant être exécuté par un autre utilisateur. Par exemple: xxx


1 commentaires

Pourquoi cette annonce d'hébergement libre ici: o