0

我有使用 npm 包 oracledb 运行的节点应用程序。我能够成功连接到远程 oracle12c 数据库。现在的问题是,在生产框中我无法安装所有先决条件,因此我压缩了工作代码并解压缩到新的 Windows 框(使用正确的路径安装了 node.js 和 oracle 客户端库)。但是当我启动节点服务器时,我得到了错误。有什么我想念的吗?请指导。谢谢

C:\node_modules\oracledb\lib\oracledb.js:38
    throw err;
    ^

Error: The specified module could not be found.
\\?\C:\node_modules\oracledb\build\Release\oracledb.node
    at Object.Module._extensions..node (module.js:664:18)
    at Module.load (module.js:554:32)
    at tryModuleLoad (module.js:497:12)
    at Function.Module._load (module.js:489:3)
    at Module.require (module.js:579:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (C:\node_modules\oracledb\lib\oracledb.js:35:19)
    at Module._compile (module.js:635:30)
    at Object.Module._extensions..js (module.js:646:10)
    at Module.load (module.js:554:32)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! xyz@1.0.0 start: `node server.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the xyz@1.0.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
4

1 回答 1

3

检查有关在机器之间复制二进制文件的安装说明。您可能缺少 Visual Studio Redistributable。

如果您有 Oracle 客户端 12.2,请安装 Visual Studio 2013 Redistributable。对于 Oracle 客户端 12.1,安装 Visual Studio 2010 Redistributable。对于 Oracle 客户端 11.2,安装 Visual Studio 2005 Redistributable。

即将推出的 node-oracledb v2 具有预构建的二进制文件(以及更好的引导错误消息)。您可以尝试使用npm install oracledb@dev 生产版本即将推出来安装 v2 的开发版本。

于 2017-12-13T20:48:28.633 回答