node.jsのpgモジュールをインストール
node.jsからPostgreSQLを扱うモジュールである、pgをインストールしてみようとしたのですが。
そのままではインストールできないようなのでメモメモ。
環境:Ubuntu 12.04 LTS 32bit server / node.js 0.8.6 / npm 1.1.48
インストール
普通にpgモジュールをインストールしようとすると……
$ 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.8.2.tgz npm http 200 https://registry.npmjs.org/pg/-/pg-0.8.2.tgz npm http GET https://registry.npmjs.org/generic-pool/1.0.12 npm http 200 https://registry.npmjs.org/generic-pool/1.0.12 npm http GET https://registry.npmjs.org/generic-pool/-/generic-pool-1.0.12.tgz npm http 200 https://registry.npmjs.org/generic-pool/-/generic-pool-1.0.12.tgz > pg@0.8.2 install (path)/node_modules/pg > node-gyp rebuild || (exit 0) gyp http GET http://nodejs.org/dist/v0.8.6/node-v0.8.6.tar.gz gyp http 200 http://nodejs.org/dist/v0.8.6/node-v0.8.6.tar.gz You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application. Traceback (most recent call last):
とかなんとかごちゃごちゃ言われてインストールできない!
メッセージの後ろの方を読むと、
You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.
とあるのでとりあえず
$ sudo apt-cache search libpq # libpq-devがあるか検索、あった $ sudo apt-get install -y libpq-dev
をしてから再度インストールしてみると……
$ npm install pg npm http GET https://registry.npmjs.org/pg npm http 304 https://registry.npmjs.org/pg npm http GET https://registry.npmjs.org/generic-pool/1.0.12 npm http 304 https://registry.npmjs.org/generic-pool/1.0.12 > pg@0.8.2 install (path)/node_modules/pg > node-gyp rebuild || (exit 0) make: Entering directory `(path)/node_modules/pg/build' CXX(target) Release/obj.target/binding/src/binding.o SOLINK_MODULE(target) Release/obj.target/binding.node SOLINK_MODULE(target) Release/obj.target/binding.node: Finished COPY Release/binding.node make: Leaving directory `(path)/node_modules/pg/build' pg@0.8.2 node_modules/pg └── generic-pool@1.0.12
ちゃんとインストールできたみたい。たぶん。
pg_configがないよーって言われた時もlibpq-devをインストールするので良いみたい。