qroach
qroach

Reputation: 411

“Error: Please install pg package manually” when trying to run “npm run serve:dev”?

I'm trying to run an app with script npm run serve:dev but it gives an error Error: Please install pg package manually when trying to run npm run serve:dev

I already tried npm install -g pg','npm install -g pg-hstore

ERROR:

[email protected] serve:dev /home/qroach/kshitij-mag nodemon --ignore './src/' --exec babel-node --presets babel-preset-env ./server/bin/www

[nodemon] 1.18.10 [nodemon] to restart at any time, enter rs [nodemon] watching: . [nodemon] starting babel-node --presets babel-preset-env ./server/bin/www /home/qroach/node_modules/sequelize/lib/dialects/abstract/connection-manager.js:81 throw new Error(Please install ${moduleName} package manually); ^

Error: Please install pg package manually at ConnectionManager._loadDialectModule (/home/qroach/node_modules/sequelize/lib/dialects/abstract/connection-manager.js:81:15) at new ConnectionManager (/home/qroach/node_modules/sequelize/lib/dialects/postgres/connection-manager.js:18:24) at new PostgresDialect (/home/qroach/node_modules/sequelize/lib/dialects/postgres/index.js:14:30) at new Sequelize (/home/qroach/node_modules/sequelize/lib/sequelize.js:241:20) at Object. (/home/qroach/kshitij-mag/server/db/models/index.js:16:15) at Module._compile (internal/modules/cjs/loader.js:799:30) at loader (/usr/lib/node_modules/babel-cli/node_modules/babel-register/lib/node.js:144:5) at Object.require.extensions.(anonymous function) [as .js] (/usr/lib/node_modules/babel-cli/node_modules/babel-register/lib/node.js:154:7) at Module.load (internal/modules/cjs/loader.js:666:32) at tryModuleLoad (internal/modules/cjs/loader.js:606:12) at Function.Module._load (internal/modules/cjs/loader.js:598:3) at Module.require (internal/modules/cjs/loader.js:705:19) at require (internal/modules/cjs/helpers.js:14:16) at Object. (/home/qroach/kshitij-mag/server/controllers/AuthController.js:2:1) at Module._compile (internal/modules/cjs/loader.js:799:30) at loader (/usr/lib/node_modules/babel-cli/node_modules/babel-register/lib/node.js:144:5) at Object.require.extensions.(anonymous function) [as .js] (/usr/lib/node_modules/babel-cli/node_modules/babel-register/lib/node.js:154:7) at Module.load (internal/modules/cjs/loader.js:666:32) at tryModuleLoad (internal/modules/cjs/loader.js:606:12) at Function.Module._load (internal/modules/cjs/loader.js:598:3) at Module.require (internal/modules/cjs/loader.js:705:19) at require (internal/modules/cjs/helpers.js:14:16) [nodemon] app crashed - waiting for file changes before starting...

I expect it to run on using the script, but it just gives this error.

Upvotes: 31

Views: 46231

Answers (7)

Mateen Kiani
Mateen Kiani

Reputation: 3293

I was also facing same issue. Try connecting your db like this:

import pg from 'pg';
import { Sequelize } from 'sequelize';

const sequelize = new Sequelize('postgres://admin:admin@localhost:5432/mydb', {
  dialect: 'postgres',
  dialectModule: pg
});

This worked for me. More info here

Upvotes: 22

Suraj Jaiswal
Suraj Jaiswal

Reputation: 41

Install it globally using the below command:

npm install -g pg --save

Installing locally did not worked for me, make sure to have -g flag

Upvotes: 3

Amjedonline
Amjedonline

Reputation: 85

//in your sequelize object initialization do this

import pg from 'pg';

{
   // your sequelize config
   dialectModule: pg
   ...
}

Upvotes: 5

Also make sure that sequelize-cli is installed when running npx sequelize-cli

I was getting the problem only in Heroku. After staring at it for long enough, I finally understood the cause: I had sequelize-cli on devDependencies and Heroku must have been pruning them. Then when I ran npx sequelize-cli it was installing sequelize-cli every time to some global location. But from there, pg was not present. Moving sequelize-cli to dependencies solved it.

And BTW: always do npx --no-install. On the fly install is insane, especially with peer dependencies like this as I've learnt.

Upvotes: 0

Maqsood Ahmed
Maqsood Ahmed

Reputation: 2257

It worked for me when I run it from local node modules

./node_modules/.bin/sequelize db:migrate

Upvotes: 1

Roshan
Roshan

Reputation: 1

Try to delete your node_modules and install them again:

npm install

or

yarn

Upvotes: -4

bereket gebredingle
bereket gebredingle

Reputation: 13006

Just install locally

npm install pg --save

Upvotes: 32

Related Questions