如何解决“无法解析某些模块 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_DIR
和 OCI_INC_DIR
已设置,C:\Oracle\instantclient;
也存在于我的 PATH 环境变量中。以上是关于如何解决“无法解析某些模块 oracledb”?的主要内容,如果未能解决你的问题,请参考以下文章