找不到模块'oracledb'

时间:2018-07-19 00:38:26

标签: node.js oracle

npm start产生

Error: Cannot find module 'oracledb'
at Function.Module._resolveFilename (module.js:555:15)
at Function.Module._load (module.js:482:25)
at Module.require (module.js:604:17)
at require (internal/module.js:11:18)

我知道这与PATH有关。我在PATH中按显示顺序设置了多个与Oracle相关的值:

1)C:\oracle64\product\12.1.0.2\client_1\bin Instantclient文件夹位于client_1级别,不在bin中。

2)c:\oracle\ODP_home1; Instantclient文件夹位于oracle文件夹中,名为instantclient_12_1

3)c:\oracle\instantclient_12_1,似乎在回答第2点

4)C:\Oracle\oledb\bin

Windows 7 64位,npm 6.1.0。

npm install oracledb得到

oracledb ERR! NJS-054: Binary build/Release/oracledb.node was not installed.
oracledb ERR! Pre-built binary packages are not available for this version of Node.js (NODE_MODULE_VERSION="59")
oracledb ERR! Failed to install binary package oracledb-v2.3.0-node-v59-win32-x64.gz

2 个答案:

答案 0 :(得分:1)

升级您的节点版本:v8.9.3

D:\ stack> npm安装oracledb

  

oracledb@2.3.0安装D:\ stack \ node_modules \ oracledb   节点包/oracledbinstall.js

oracledb开始安装 oracledb验证安装 oracledb继续安装 oracledb Oracledb下载 oracledb验证安装 oracledb Binary SHA匹配SHASUMS256.txt中的SHA 甲骨文数据库 甲骨文数据库 oracledb ** Node.js 8.9.3(win32, x64) oracledb ** oracledb **要使用已安装的node-oracledb,请执行以下操作: oracledb **-PATH环境中必须具有64位Oracle客户端库 ENT变量 oracledb **-如果您还没有库,请安装Instant Client B asic或Basic Light软件包来自 oracledb ** http://www.oracle.com/technetwork/topics/winx64soft-089540.html oracledb **-适用于您的Oracle的Microsoft Visual Studio Redistributable  客户端库版本必须可用 oracledb **检查https://oracle.github.io/node-oracledb/INSTALL.html中是否有deta 伊尔斯 oracledb ** oracledb **节点-oracledb安装说明:https://oracle.github.io/no de-oracledb / INSTALL.html 甲骨文数据库 + oracledb@2.3.0 在22.026s中添加了1个程序包

我已经成功npm安装了oracledb。

答案 1 :(得分:0)

这两个链接有助于解决问题

  1. Oracle自己的node installation令人困扰的射击。
  2. 强制使用unsafe installation,最终安装了2.2版,而不是原来的2.3版,并且现在可以正常运行了。