node-java错误:libjvm.so:无法打开共享对象文件:没有这样的文件或目录

我在下面的节点插件中得到一个错误,并打开一个问题:插件是在这里: https : //github.com/joeferner/node-java问题在这里: https : //github.com/joeferner/node-java /问题/ 306

对于使用rStudio的开发人员,我看到了类似的问题,解决了这个问题: libjvm.so:无法打开共享目标文件:没有这样的文件或目录

当我启动我的节点应用程序到heroku时,我有一个类似的错误:

return process.dlopen(module, path._makeLong(filename)); ^ Error: libjvm.so: cannot open shared object file: No such file or directory at Error (native) at Object.Module._extensions..node (module.js:440:18) at Module.load (module.js:357:32) at Function.Module._load (module.js:314:12) at Module.require (module.js:367:17) at require (internal/module.js:16:19) at Object.<anonymous> (/app/node_modules/java/lib/nodeJavaBridge.js:31:16) at Module._compile (module.js:413:34) at Object.Module._extensions..js (module.js:422:10) at Module.load (module.js:357:32) 

看起来你需要像这样设置JAVA_HOME环境variables:

 $ heroku config:set JAVA_HOME="/usr/lib/jvm/java-7-openjdk-amd64" 

这是因为您正在使用堆栈JDK(默认的JDK)。 您还可以通过将jvm-common buildpack添加到您的应用程序来使用自定义JDK(通常是较新版本),该应用程序还将为您设置JAVA_HOME

 $ heroku buildpacks:clear $ heroku buildpacks:add https://github.com/heroku/heroku-buildpack-jvm-common $ heroku buildpacks:add heroku/nodejs 

然后用git push重新部署。