0

我有一个在 Heroku 上运行的 NodeJS 服务器,我试图在推送到 Heroku 时将 oracledb 包(https://www.npmjs.com/package/oracledb)安装到我的服务器的 node_modules 中。

推送到 Heroku 时,尝试安装 oracledb 软件包时出现此错误:“node-oracledb ERR!错误:找不到 Oracle 库 libclntsh.so”。我从 Heroku 推送中得到的完整错误输出可以在这里看到:https ://gist.github.com/AkyunaAkish/89a4283cc2da32e26fece617d4138ce0

我尝试按照这个 repo 的自述文件安装我认为会有所帮助的插件,但这似乎没有什么不同:https ://github.com/MichaelBuhler/heroku-buildpack-nodejs-oracledb

然后我去了 node-oracledb 存储库并尝试按照他们的说明在 Linux 上安装 oracledb(通过使用 Heroku 运行 bash 然后运行命令)尽管这不起作用,因为 yum 不可用并且文件系统已读取-只要; https://github.com/oracle/node-oracledb/blob/master/INSTALL.md#instlinux

我不需要在我的 heroku 环境中托管 oracledb 实例,我只需要将包安装到我的 node_modules 中,以便使用我的数据库驱动程序连接到托管在其他地方的远程 oracledb。

任何有关如何根据我的需要正确设置环境的建议都将不胜感激,谢谢。

FYI:我询问了 Heroku 支持,并被告知这不是 Heroku 支持政策性质的问题,所以我来了。

4

2 回答 2

1

我在尝试用同样的方法在我的 Heroku 上安装 oracledb 时也遇到了问题。我分叉了它并改变了一些东西,包括脚本如何获得即时客户端库并成功安装。请在此处查看我的分叉:https ://github.com/pupostd/heroku-buildpack-nodejs-oracledb.git

于 2017-12-12T19:46:54.050 回答
0

我不需要在我的 heroku 环境中托管 oracledb 实例

node-oracledb(通过 npm 作为 oracledb 安装)只是一个驱动程序,而不是数据库。

我尝试按照这个 repo 的自述文件安装我认为会有所帮助的插件,但这似乎没有什么不同

您尝试了什么(确切地)以及发生了什么(如果错误,哪些错误)?

yum 不可用且文件系统为只读

你确定这是真的吗?你能指点医生吗?您需要以某种方式使依赖关系到位。您指出的“heroku-buildpack-nodejs-oracledb”的作者似乎建议将 Heroku CLI 与 buildpacks 一起使用作为一种解决方法。

请记住,如果使用该 buildpack,您将信任其作者对 Oracle 依赖项的镜像。我建议您下载依赖项并将它们安全地放置在您自己的一些对象存储中,然后指向它。

于 2017-11-29T21:36:58.473 回答