Node -java error: libjvm.so: невозможно открыть файл общих объектов: нет такого файла или каталога
Я получаю сообщение об ошибке в следующем node -plugin и открыл проблему:
плагин здесь: https://github.com/joeferner/node-java
вопрос здесь: https://github.com/joeferner/node-java/issues/306
Я вижу аналогичную проблему, которая была решена на SO в отношении разработчиков, которые используют rStudio:
libjvm.so: невозможно открыть файл общих объектов: нет такого файла или каталога
У меня такая же ошибка, когда я запускаю приложение node для 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)
Ответы
Ответ 1
Похоже, вам нужно установить переменную среды JAVA_HOME
следующим образом:
$ heroku config:set JAVA_HOME="/usr/lib/jvm/java-7-openjdk-amd64"
Это связано с тем, что вы используете стек JDK (по умолчанию JDK). Вы также можете использовать пользовательский JDK (обычно более новую версию), добавив в ваше приложение jvm-common buildpack, который также установит для вас JAVA_HOME
:
$ heroku buildpacks:clear
$ heroku buildpacks:add https://github.com/heroku/heroku-buildpack-jvm-common
$ heroku buildpacks:add heroku/nodejs
Затем передислоцируйте с помощью git push
.