'“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.
Solution 1:[1]
Just install locally
npm install pg --save
Solution 2:[2]
I was also facing same issue. Try connecting your db like this:
import * as pg from 'pg';
import { Sequelize } from 'sequelize';
const sequelize = new Sequelize('postgres://admin:admin@localhost:5432/mydb', {
dialectModule: pg
});
This worked for me. More info here
Solution 3:[3]
It worked for me when I run it from local node modules
./node_modules/.bin/sequelize db:migrate
Solution 4:[4]
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.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | bereket gebredingle |
| Solution 2 | Mateen Kiani |
| Solution 3 | Maqsood Ahmed |
| Solution 4 | Ciro Santilli Путлер Капут å…四事 |
