対処法ってことじゃないですが、メモです。pgはnode-postgresのことで、postgresはpostgresSQLのことでデータベースのことです。

Sequelizeを使ってみようと思い、 ドキュメントのセットアップ通りに進めてたら、npm install –save sequelize pg mysql のところでコケました。

command
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$ npm install --save sequelize pg mysql
...(ry
> pg@3.4.0 install /Users/home/Dropbox/tk-box/server/node_modules/pg
> node-gyp rebuild || (exit 0)
 
/bin/sh: pg_config: command not found
gyp: Call to 'pg_config --libdir' returned exit status 127.
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/Users/home/.nodebrew/node/v0.10.26/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:337:16)
gyp ERR! stack     at ChildProcess.EventEmitter.emit (events.js:98:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:797:12)
gyp ERR! System Darwin 13.3.0
gyp ERR! command "node" "/Users/home/.nodebrew/node/v0.10.26/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/home/Dropbox/tk-box/server/node_modules/pg
gyp ERR! node -v v0.10.26
gyp ERR! node-gyp -v v0.12.2
gyp ERR! not ok

npm install pgでコケてるみたいで、pg_configがないよー!と怒られてるわけですね。

postgresをインストールすればOKみたいなので、homebrewでインストールしました。

command
1
$ brew install postgres

次に.zshとかにpathを通しましょう。

command
1
export PGDATA=/usr/local/var/postgres

もう一回、npm install pgを実行します。

command
1
2
3
4
5
6
7
8
$ npm install pg -S
.... (ry
> pg@3.4.0 install /Users/cotapon/Dropbox/tk-box/server/node_modules/pg
> node-gyp rebuild || (exit 0)
 
  CXX(target) Release/obj.target/binding/src/binding.o
  SOLINK_MODULE(target) Release/binding.node
  SOLINK_MODULE(target) Release/binding.node: Finished

めでたしめでたし!