安装pg-native时gyp失败

Jam*_*lor 7 macos libpq node.js gyp

我正在尝试安装pg-native包:

sudo npm install pg-native
Run Code Online (Sandbox Code Playgroud)

但会生成以下错误:

> libpq@1.7.0 install /Workspace/auth/node_modules/libpq
> node-gyp rebuild

/bin/sh: pg_config: command not found
gyp: Call to 'pg_config --libdir' returned exit status 127. while trying to load binding.gyp
gyp ERR! configure error 
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:355:16)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Darwin 15.0.0
gyp ERR! command "/usr/local/Cellar/node/4.1.1/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Workspace/auth/node_modules/libpq
gyp ERR! node -v v4.1.1
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok 
npm WARN install:libpq libpq@1.7.0 install: `node-gyp rebuild`
npm WARN install:libpq Exit status 1
Run Code Online (Sandbox Code Playgroud)

我已经尝试通过安装node-gyp模块然后手动运行rebuild命令来解决这个问题:

sudo npm install -g node-gyp
sudo node-gyp rebuild
Run Code Online (Sandbox Code Playgroud)

我读到这个问题不再存在于更新的Node版本中,所以我更新到了版本v4.1.1.

我也试过将模块本地安装到工作区,并全局安装到机器的其余部分,但仍然没有运气.正常运行node-gyp,看起来已经正确安装.

任何有关这个问题的帮助将不胜感激!

Jam*_*lor 8

不知道为什么我最初没有想到这个,但是通过在我的本地机器上安装libpq解决了这个问题.

brew install postgresql
Run Code Online (Sandbox Code Playgroud)

libpq考虑到错误消息中的模糊性,这个捆绑包附带,我一开始并没有意识到这一点.

看起来它已安装或作为先决条件安装,因为错误消息中的第一行标识了此软件包的版本号,libpq@1.7.0.