微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

node.js – Elastic Beanstalk上的环境变量/ oracledb

我们正在尝试在Amazon Elastic Beanstalk实例上安装节点模块 oracledb.

我们可以让oracledb在本地工作正常,并且我们已经达到了Beanstalk实例通过rpms安装instantclient的程度.我们现在坚持的是npm install要么使用LD_LIBRARY_PATH,要么使用instantclient进入/ opt / oracle / instantclient.目前,rpms将其安装到/usr/lib/oracle/12.1/client64

似乎有两种可能的解决方案:

>获取rpm以将instantclient安装到/ opt / oracle / instantclient或者在事后移动/链接
>设置LD_LIBRARY_PATH环境变量,以便npm install知道使用来自/usr/lib/oracle/12.1/client64的instantclient

但是,我们不知道如何在Beanstalk配置中正确地执行这些操作.

我找不到有关Beanstalk实例何时实际运行npm install的任何信息,我们没有告诉它明确地这样做,但它正在运行.

通过环境属性更改环境变量as the documentation suggests here不起作用.看似这些仅在服务器实际运行时设置

LD_LIBRARY_PATH=x node app.js

它们不用于npm安装.

我们如何更新弹性beanstalk配置,将instantclient置于我们想要的位置,或者在npm install期间设置LD_LIBRARY_PATH?

解决方法

在Linux上安装node-oracledb v1时,安装会按以下顺序查找Oracle库:

>使用安装时环境变量$OCI_LIB_DIR和$OCI_INC_DIR
>在安装的最高版本Instant Client RPM中
>在$ORACLE_HOME中
>在/ opt / oracle / instantclient中

https://github.com/oracle/node-oracledb/blob/master/INSTALL.md#linuxadv

您可以在https://github.com/oracle/node-oracledb/blob/master/binding.gyp中看到执行此操作的逻辑

因此问题的前提是不正确的,您不需要更改Instant Client.使用Instant Client RPM,运行’npm install oracledb’时不需要设置环境变量,也不需要在运行时设置LD_LIBRARY_PATH.上面的链接有详细信息.

问题是,你的安装失败了什么?

更新:使用node-oracledb v2,您需要设置ORACLE_HOME(仅适用于完整的Oracle安装)或使用LD_LIBRARY_PATH或使用ldconfig,如installation manual中所述

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐