首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在windows计算机中的node.js上开发应用程序并使用后端Oracle DB在云上部署时出现错误

在windows计算机中的node.js上开发应用程序并使用后端Oracle DB在云上部署时出现错误
EN

Stack Overflow用户
提问于 2019-06-05 07:26:01
回答 2查看 53关注 0票数 -1

我正在开发一个使用node.js的应用程序。开发环境是在windows操作系统上连接到Oracle DB,而QAT环境是在带有linux风格的云上。它在dev上工作得很好,当涉及到QAT时,它会抛出以下错误。如果我可以在QAT中部署之前捆绑oracledb,我希望

ERR 1047:找不到64位Oracle客户端库:"libclntsh.so:无法打开共享对象文件:没有这样的文件或目录“。请参见oracledb获取帮助错误节点-oracledb安装说明: Oracle ERR您必须在LD_LIBRARY_PATH中具有64位https://oracle.github.io/odpi/doc/installation.html#linux客户端库,或者使用ldconfig进行配置。ERR如果此计算机上没有Oracle数据库,请安装ERR提供的即时客户端基本或基本轻量级软件包

我试着设置LIB路径。这也没有用。

EN

回答 2

Stack Overflow用户

发布于 2019-06-05 07:35:45

当你到达QAT后,你有没有尝试过npm安装?我相信依赖node-gyp的包通常会进行一些编译,并且依赖于当前的操作系统。

票数 0
EN

Stack Overflow用户

发布于 2019-06-05 12:39:42

错误消息看起来非常清楚:您需要为Linux安装64位Oracle客户端库。您已经在Windows的开发机器上安装了这些工具。

错误URL链接显示了如何在QAT环境中执行此操作。最简单的是即时客户端,它被链接到消息中。

从技术上讲,您可以将Linux库与应用程序捆绑在一起,但在调用应用程序之前,您需要以某种方式设置操作系统库搜索路径,例如LD_LIBRARY_PATH。您可以使用包装器shell脚本来完成此操作:

代码语言:javascript
复制
#!/bin/sh
export LD_LIBRARY_PATH=/whatever/instantclient_19_3
node myapp.js

这可能会变得混乱,而且您还需要在部署时上载所有Instant客户端库。

对于Linux,我建议将Instant Client视为基础操作系统的一部分,并将其作为机器的一个要求。您可以安装即时客户端RPM,而不需要任何点击,请参阅此Dockerfile

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56452510

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档