看到错误模块未找到:heroku 应用程序中的“pg-native”

opi*_*ike 5 heroku node.js heroku-postgres reactjs

我正在尝试将 postgres 附加组件与也使用 react 的 heroku 节点应用程序一起使用。

我正在使用这个 react buildpack 来支持 heroku 内部的 react:https : //github.com/opike/create-react-app-buildpack.git

当我尝试添加该行时:

var pg = require('pg');
Run Code Online (Sandbox Code Playgroud)

当我尝试在本地运行 heroku 应用程序时,出现以下编译错误:

>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 |  > test-app@0.1.0 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
Run Code Online (Sandbox Code Playgroud)

opi*_*ike 3

我通过执行以下操作解决了这个问题:

> npm i pg-native
Run Code Online (Sandbox Code Playgroud)

如此处所述: https: //github.com/brianc/node-pg-native

以及一个

> npm i dns
Run Code Online (Sandbox Code Playgroud)

对于dns问题。

奇怪的是,我不需要在使用 postgres 的其他 heroku 应用程序中显式安装这些软件包。