在Heroku上找不到librdkafka

时间:2018-04-05 19:16:39

标签: node.js heroku apache-kafka

我正在努力让一个简单的Kafka消费者在Heroku上运行。我使用的是Node 8.11和node-rdkafka。我让它在本地运行。当我尝试在Heroku上运行它时,我收到此错误:

Error: librdkafka++.so.1: cannot open shared object file: No such file or 
directory
at Object.Module._extensions..node (module.js:681:18)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
at bindings (/app/node_modules/bindings/bindings.js:81:44)
at Object.<anonymous> (/app/node_modules/node-rdkafka/librdkafka.js:10:32)
at Module._compile (module.js:652:30)
at Object.Module._extensions..js (module.js:663:10)

我知道这个库是librdkafka的包装器,看起来它找不到它。根据Heroku Ubuntu实例上预装的list of things,它看起来像是安装了librdkafka-dev和librdkafka1。我不知道如何使用它们,或者是否正在发生其他事情。

1 个答案:

答案 0 :(得分:0)

您必须使用Confluent librdkafka软件包。

将此添加到您的Aptfile:

:repo:deb [arch=amd64] http://packages.confluent.io/deb/4.0 stable main

这样做之后仍有问题,但它们是不同的问题,看起来我离我更近了。