I am having trouble installing the Postgres database module for Node.js, every time I run the command "npm install pg" I get the following error:
C:>npm install pg
npm http GET https://registry.npmjs.org/pg
npm http 200 https://registry.npmjs.org/pg
npm http GET https://registry.npmjs.org/pg/-/pg-0.12.1.tgz
npm http 200 https://registry.npmjs.org/pg/-/pg-0.12.1.tgz
npm http GET https://registry.npmjs.org/generic-pool/2.0.2
npm http 200 https://registry.npmjs.org/generic-pool/2.0.2
npm http GET https://registry.npmjs.org/generic-pool/-/generic-pool-2.0.2.tgz
npm http 200 https://registry.npmjs.org/generic-pool/-/generic-pool-2.0.2.tgz
pg@0.12.1 install C:\node_modules\pg
node-gyp rebuild || (exit 0)
C:\node_modules\pg>node "C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-b
in\....\node_modules\node-gyp\bin\node-gyp.js" rebuild
'pg_config' is not recognized as an internal or external command,
operable program or batch file.
gyp: Call to 'pg_config --libdir' returned exit status 1. while trying to load b
inding.gyp
gyp ERR! configure error
gyp ERR! stack Error: gyp
failed with exit code: 1
gyp ERR! stack at ChildProcess.onCpExit (C:\Program Files\nodejs\node_module
s\npm\node_modules\node-gyp\lib\configure.js:420:16)
gyp ERR! stack at ChildProcess.EventEmitter.emit (events.js:99:17)
gyp ERR! stack at Process._handle.onexit (child_process.js:678:10)
gyp ERR! System Windows_NT 5.1.2600
gyp ERR! command "node" "C:\Program Files\nodejs\node_modules\npm\node_modu
les\node-gyp\bin\node-gyp.js" "rebuild"
gyp ERR! cwd C:\node_modules\pg
gyp ERR! node -v v0.8.17
gyp ERR! node-gyp -v v0.8.2
gyp ERR! not ok
pg@0.12.1 node_modules\pg
└── generic-pool@2.0.2
This error occurs on both my work machine (linux/windows box) and my personal machine (windows) at home. Any ideas?
Also I should mention I already have Python 2.7.3 installed.
You're on Windows:
'pg_config' is not recognized as an internal or external command, operable program or batch file.
so I suggest you get a pre-built binary of the pg module. Compiling things on windows is ... fun.
The immediate error is that the pg_config
executable is not on the PATH
, but there'll be lots more after you fix that. Get a prebuilt executable unless you plan on a journey of discovery and swearing.
Bakground: pg_config is the configuration utility provided by PostgreSQL. This utility is used by various applications.
Solution:
Set the path. System Properties > Advanced
PATH:C:\Program Files (x86)\PostgreSQL\9.4\bin\;
From this point on, any application that requires pg_config can find it here.
I suggest this method because the build is directly from the author. You can also find viable alternatives for standalone pg_config builds.