Seeing error Module not found: 'pg-native' in heroku app

7.1k views Asked by At

I'm attempting to use the postgres add-on with a heroku node app that is also using react.

I'm using this react buildpack to support react inside heroku: https://github.com/opike/create-react-app-buildpack.git

When I try to add the line:

var pg = require('pg');

I get the following compilation error when I try to run the heroku app locally:

>heroku local web
[OKAY] Loaded ENV .env File as KEY=VALUE Format
[WARN] ENOENT: no such file or directory, open 'Procfile'
[OKAY] package.json file found - trying 'npm start'
4:15:19 PM web.1 |  > [email protected] start /Users/oliverpike/dev/heroku/ofp-react
4:15:19 PM web.1 |  > react-scripts start
4:15:20 PM web.1 |  Starting the development server...
4:15:29 PM web.1 |  Failed to compile.
4:15:29 PM web.1 |  Error in ./~/pg/lib/native/index.js
4:15:29 PM web.1 |  Module not found: 'pg-native' in /Users/oliverpike/dev/heroku/ofp-react/node_modules/pg/lib/native
4:15:29 PM web.1 |   @ ./~/pg/lib/native/index.js 1:13-33
4:15:29 PM web.1 |  Error in ./~/pg/lib/connection-parameters.js
4:15:29 PM web.1 |  Module not found: 'dns' in /Users/oliverpike/dev/heroku/ofp-react/node_modules/pg/lib
4:15:29 PM web.1 |   @ ./~/pg/lib/connection-parameters.js 2:10-24
1

There are 1 answers

0
opike On BEST ANSWER

I was able to get past this issue by doing an:

> npm i pg-native

as described here: https://github.com/brianc/node-pg-native

as well as an

> npm i dns

for the dns issue.

The odd thing was that I didn't need to explicitly install these packages in my other heroku app that is using postgres.