尝试运行“npm runserve:dev”时出现“错误:请手动安装 pg 包”?

问题描述 投票:0回答:7

我正在尝试使用脚本运行应用程序

npm run serve:dev
但尝试运行时会出现错误
Error: Please install pg package manually
npm run serve:dev

我已经尝试过

npm install -g pg','npm install -g pg-hstore

错误:

[电子邮件受保护]服务:dev /home/qroach/kshitij-mag nodemon --ignore './src/' --exec babel-node --presets babel-preset-env ./server/bin/www

[nodemon] 1.18.10 [nodemon]随时重启,输入 rs [nodemon] 观看: 。 [nodemon] 启动 babel-node --presets babel-preset-env ./server/bin/www /home/qroach/node_modules/sequelize/lib/dialects/abstract/connection-manager.js:81 抛出新错误(请安装${moduleName} 手动打包); ^

错误:请在新的 ConnectionManager (/home/qroach/node_modules/sequelize) 处的 ConnectionManager._loadDialectModule (/home/qroach/node_modules/sequelize/lib/dialects/abstract/connection-manager.js:81:15) 手动安装 pg 包/lib/dialects/postgres/connection-manager.js:18:24) 在新的 PostgresDialect (/home/qroach/node_modules/sequelize/lib/dialects/postgres/index.js:14:30) 在新的 Sequelize (/home) /qroach/node_modules/sequelize/lib/sequelize.js:241:20) 在对象处。 (/home/qroach/kshitij-mag/server/db/models/index.js:16:15) 在 Module._compile (internal/modules/cjs/loader.js:799:30) 在加载器 (/usr/lib) /node_modules/babel-cli/node_modules/babel-register/lib/node.js:144:5) at Object.require.extensions.(匿名函数) [as .js] (/usr/lib/node_modules/babel-cli /node_modules/babel-register/lib/node.js:154:7) 在 Module.load (internal/modules/cjs/loader.js:666:32) 在 tryModuleLoad (internal/modules/cjs/loader.js:606) :12)在Function.Module._load(内部/模块/cjs/loader.js:598:3)在Module.require(内部/模块/cjs/loader.js:705:19)在要求(内部/模块/ cjs/helpers.js:14:16) 在对象。 (/home/qroach/kshitij-mag/server/controllers/AuthController.js:2:1) 在 Module._compile (internal/modules/cjs/loader.js:799:30) 在加载器 (/usr/lib/node_modules) /babel-cli/node_modules/babel-register/lib/node.js:144:5) 在 Object.require.extensions.(匿名函数) [as .js] (/usr/lib/node_modules/babel-cli/node_modules /babel-register/lib/node.js:154:7) 在 Module.load (internal/modules/cjs/loader.js:666:32) 在 tryModuleLoad (internal/modules/cjs/loader.js:606:12) )在Function.Module._load(内部/模块/cjs/loader.js:598:3)在Module.require(内部/模块/cjs/loader.js:705:19)在要求(内部/模块/cjs/ helpers.js:14:16) [nodemon] 应用程序崩溃 - 启动前等待文件更改...

我希望它能够使用脚本运行,但它只是给出了这个错误。

node.js postgresql networking npm pg
7个回答
31
投票

本地安装即可

npm install pg --save


19
投票

我也面临同样的问题。尝试像这样连接你的数据库:

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

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

这对我有用。 更多信息这里


3
投票
//in your sequelize object initialization do this

import pg from 'pg';

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

3
投票

使用以下命令全局安装它:

npm install -g pg --save

本地安装对我来说不起作用,请确保有 -g 标志


1
投票

当我从本地节点模块运行它时,它对我有用

./node_modules/.bin/sequelize db:migrate


0
投票

还要确保运行时安装了

sequelize-cli
npx sequelize-cli

我只在 Heroku 中遇到这个问题。盯着它看了足够长的时间后,我终于明白了原因:我在

sequelize-cli
上有
devDependencies
,Heroku 一定是在修剪它们。然后,当我运行
npx sequelize-cli
时,它每次都会将sequelize-cli 安装到某个全局位置。但从那时起,
pg
就不存在了。将
sequelize-cli
移动到
dependencies
解决了它。

顺便说一句:总是这样做

npx --no-install
。即时安装是疯狂的,尤其是像我了解到的这样的对等依赖关系。


-4
投票

尝试删除您的node_modules并重新安装它们:

npm install

yarn
© www.soinside.com 2019 - 2024. All rights reserved.