如何在Heroku NodeJS服务器上安装OracleDB NPM软件包?

时间:2017-11-29 20:43:14

标签: node.js heroku npm oracledb oracledb-npm

我在Heroku上运行了一个NodeJS服务器,并且在推送到Heroku时我试图将oracledb软件包(https://www.npmjs.com/package/oracledb)安装到我服务器的nod​​e_modules。

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

我尝试按照此回购自述文件来安装我认为会有所帮助的插件,但这似乎没有什么作用: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支持政策的性质,所以我在这里。

2 个答案:

答案 0 :(得分:1)

我尝试使用相同的方法在我的Heroku上安装oracledb时遇到了问题。我分叉并更改了一些内容,包括脚本如何获得即时客户端库并立即安装成功。请在这里检查我的分叉:https://github.com/pupostd/heroku-buildpack-nodejs-oracledb.git

答案 1 :(得分:0)

  

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

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

  

我尝试按照此回购自述文件安装我认为会有所帮助的插件,但这似乎没有什么区别

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

  

yum不可用且文件系统是只读的

你确定这是真的吗?你能指向doc吗?你需要以某种方式获得依赖关系。 " heroku-buildpack-nodejs-oracledb"的作者你指出似乎建议使用带有buildpack的Heroku CLI可以作为一种解决方法。

请记住,如果使用该buildpack,您就会信任其作者的镜像以获取Oracle依赖关系。我建议你下载依赖项并将它们安全地放在你自己的某个对象存储中,然后指向它。

相关问题