如何修复 pg-promise 错误 "Promise library must be specified."?
How to fix pg-promise error "Promise library must be specified."?
我使用 pg-promise 在 ExpressJS 中创建了一个基本的 API 来与我的 PostgreSQL 数据库交互。当 运行 它在 Windows 上时,它工作正常。然后我将它移动到 Ubuntu 15.04,但是当我尝试启动它时出现以下错误:
/node_modules/pg-promise/lib/promise.js:46
throw new TypeError("Promise library must be specified.");
问题
Use the source, Luke!
查看错误信息中的文件:
if (typeof Promise === 'undefined') {
// ES6 Promise isn't supported, NodeJS is pre-0.12;
throw new TypeError("Promise library must be specified.");
}
您的 Ubuntu 发行版中 Node.js 的版本非常旧。
解决方案
我建议您升级 Node.js,例如使用 LTS 版本 (4.x)。
另一种方法是将承诺库指定为 instructed on the project's website。
专业提示:nvm 是管理 Node.js.
版本的绝佳解决方案
更新 - 1
库从5.6.0版本开始,不再支持Node.js0.10.x和0.12.x,需要Node.js4.x 作为新的最小值。
因此,该错误已被忽略,因为如果您未指定任何自定义承诺库,该库将始终成功默认为 ES6 Promise。
如果您在 4.0 之前的 Node.js 下尝试 运行 它,它会在 its loader 中抛出 Minimum Node.js version required by pg-promise is 4.x
。
更新 - 2
版本 6.7.0 及更高版本要求 Node.js 4.5.0 作为最低要求。
我使用 pg-promise 在 ExpressJS 中创建了一个基本的 API 来与我的 PostgreSQL 数据库交互。当 运行 它在 Windows 上时,它工作正常。然后我将它移动到 Ubuntu 15.04,但是当我尝试启动它时出现以下错误:
/node_modules/pg-promise/lib/promise.js:46
throw new TypeError("Promise library must be specified.");
问题
Use the source, Luke!
查看错误信息中的文件:
if (typeof Promise === 'undefined') {
// ES6 Promise isn't supported, NodeJS is pre-0.12;
throw new TypeError("Promise library must be specified.");
}
您的 Ubuntu 发行版中 Node.js 的版本非常旧。
解决方案
我建议您升级 Node.js,例如使用 LTS 版本 (4.x)。
另一种方法是将承诺库指定为 instructed on the project's website。
专业提示:nvm 是管理 Node.js.
版本的绝佳解决方案更新 - 1
库从5.6.0版本开始,不再支持Node.js0.10.x和0.12.x,需要Node.js4.x 作为新的最小值。
因此,该错误已被忽略,因为如果您未指定任何自定义承诺库,该库将始终成功默认为 ES6 Promise。
如果您在 4.0 之前的 Node.js 下尝试 运行 它,它会在 its loader 中抛出 Minimum Node.js version required by pg-promise is 4.x
。
更新 - 2
版本 6.7.0 及更高版本要求 Node.js 4.5.0 作为最低要求。