我正在尝试让一个简单的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。我不知道如何使用它们,或者是否正在发生其他事情。

最佳答案

您必须使用Confluent librdkafka软件包。

将此添加到您的Aptfile:

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

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

关于node.js - 在Heroku上找不到librdkafka,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49679903/

10-16 16:33