如何解决“无法解析某些模块 oracledb”?

Posted

技术标签:

【中文标题】如何解决“无法解析某些模块 oracledb”?【英文标题】:How to resolve "Unable to resolve some modules oracledb"? 【发布时间】:2017-12-19 17:23:42 【问题描述】:

我设置了一个流星项目并导入了oracledb node package。 但是在通过meteor run 启动项目后,我得到一个控制台构建错误。声明Unable to resolve some modules

机器设置:

Windows 7 x64

节点 v6.9.1 x64

npm 3.10.9 x64

instaclient sdk 和基本 x86

C++ 可再发行组件

要调试我遇到的问题:

按照此问题中的调试步骤进行操作 - Unable to resolve some modules in Meteor 1.4.1.1 检查该包是否存在于它所执行的 node_modules 中:

问题:

在流星运行期间

环境变量已设置且目录存在:

OCI ENV 变量 -

路径变量-

Oracle instaclient 的目录位置

meteor run 期间的错误日志:

$ meteor run
[[[[[ C:\Users\derp\Documents\Projects\dmo-progam-site ]]]]]

=> Started proxy.
=> A patch (Meteor 1.4.1.3) for your current release is available!
   Update this project now with 'meteor update --patch'.
=> Started MongoDB.

Unable to resolve some modules:

  "../build/Release/oracledb" in
/C/Users/derp/Documents/Projects/dmo-progam-site/node_modules/oracledb/lib/oracledb.js
(os.windows.x86_32)
  "../build/Debug/oracledb" in
/C/Users/derp/Documents/Projects/dmo-progam-site/node_modules/oracledb/lib/oracledb.js
(os.windows.x86_32)

=> Started your app.

=> App running at: http://localhost:3000/

【问题讨论】:

lib 文件夹中有 oracledb.js 文件吗? 【参考方案1】:

我们之前有人报告过此问题,但我无法重现。请查看我在这里使用的步骤,看看它们是否有帮助:https://github.com/oracle/node-oracledb/issues/516#issuecomment-267480686

【讨论】:

【参考方案2】:

检查基本 node-oracledb examples 在 Meteor 之外运行。这将确认 node-oracledb 已安装并且能够找到 Oracle 客户端库和 MS VS Redistributable。确保 Node、Oracle 客户端库和 Redistributable 的架构(32 位或 64 位)都匹配。

【讨论】:

嘿,所以我尝试将 oracledb 安装到测试文件夹中,它安装得很好。当我运行我的另一个项目时,安装也运行良好但是..这个项目似乎正在根据它在流星运行期间抛出的错误来寻找 x86 弧? Unable to resolve some modules: "../build/Release/oracledb" in /C/Users/varleyb/Documents/Projects/dmo-progam-site/node_modules/oracledb/lib/or acledb.js (os.windows.x86_32) 你是说一个是64位,另一个是32位?您是否拥有适合 Meteor 使用的 Oracle 客户端库架构? 是的,我有流星项目正在寻找的正确 x86 instaclient。我在上面的问题中添加了更多信息。当我尝试安装您的 node-oracledb 存储库时,我在 oracledb 安装过程中遇到构建错误。有什么想法可以阅读我上面的日志吗? 您的 PATH 中没有正确的 Oracle 客户端库。所有缺少的 OCI* 符号都是 Oracle 客户端的一部分。 正确的 Oracle 客户端库您指的是哪个版本?我已经验证了路径 OCI_LIB_DIROCI_INC_DIR 已设置,C:\Oracle\instantclient; 也存在于我的 PATH 环境变量中。

以上是关于如何解决“无法解析某些模块 oracledb”?的主要内容,如果未能解决你的问题,请参考以下文章

如何解决mysql数据库8小时无连接自动关闭

如何解决 CameraX 应用程序无响应的问题?

如何解决 MS SQL 中不受支持的无符号整数字段类型?

Java实现文件流下载文件,浏览器无反应,后台无错误!如何解决?

linux(centos)无中文输入,如何解决

linux服务器如何切换用户,解决无权限上传文件问题