Как установить путь к узлу для nodejs (Ubuntu) - PullRequest
7 голосов
/ 16 августа 2011

Я пытаюсь настроить nodejs для доступа к базе данных postgres.Пока что я сделал следующее (https://gist.github.com/579814):

echo 'export PATH=$HOME/local/bin:$PATH' >> ~/.bashrc
. ~/.bashrc
mkdir ~/local
mkdir ~/node-latest-install
cd ~/node-latest-install
curl http://nodejs.org/dist/node-latest.tar.gz | tar xz --strip-components=1
./configure --prefix=~/local
make install # ok, fine, this step probably takes more than 30 seconds...
curl http://npmjs.org/install.sh | sh

, затем

git clone git://github.com/isaacs/npm.git
make
make install

, пока все хорошо, однако, когда я пытаюсь установить драйвер postgres

npm install pg

Я получаю следующее:

node-waf configure build || true

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}

Я искал настройкипуть к узлу, хотя до сих пор не нашел ничего полезного - вероятно, также потому, что я совершенно новичок в nodejs, поэтому я буду рад любому совету.

Ответы [ 4 ]

14 голосов
/ 14 августа 2012

Теперь у вас установлен NodeJS в вашей Ubuntu. Вы должны установить /etc/environment и загрузить путь nodeJS, который может быть выполнен другими пользователями. Например:

NODE="/home/ubuntu/local/node"
NODE_PATH="/usr/local/lib/node_modules" 
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:$NODE/bin:$NODE/lib/node_modules"
#PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
7 голосов
/ 16 августа 2011

Сделайте это в bash: эхо 'export NODE_PATH=~/local/:~/local/node_modules' >> ~/.bashrc

0 голосов
/ 28 мая 2012

У меня была такая же проблема. Проблема заключалась в том, что я указывал старую версию PG в моем package.js После удаления зависимости от старой версии я смог установить PG без проблем.

0 голосов
/ 01 сентября 2011

до того, как все будет исправлено, вы должны использовать узел 0.5.1 (вы можете использовать gitk, чтобы вернуть дерево к этой версии)

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...