当前位置 : 主页 > 网页制作 > Nodejs >

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

来源:互联网 收集:自由互联 发布时间:2021-06-16
我们正在尝试在Amazon Elastic Beanstalk实例上安装节点模块 oracledb . 我们可以让oracledb在本地工作正常,并且我们已经达到了Beanstalk实例通过rpms安装instantclient的程度.我们现在坚持的是npm in
我们正在尝试在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中所述

网友评论