Ответ 1
Я НАКОНЕЦ понял это!
Мне нужен этот пакет npm для node -java для правильной работы на моей машине https://www.npmjs.com/package/winreg
npm install winreg
разрешено все проблемы
Что означает эта ошибка?
Что мне нужно сделать, чтобы решить эту проблему?
Я пытаюсь запустить java-модуль для node.js(в частности, xslt4node) на Mac OS El Капитан, но каждый раз, когда я получаю эту ошибку. Кажется, что все работает нормально для пользователей Windows. Полная ошибка ниже:
dyld: lazy symbol binding failed: Symbol not found: _JNI_CreateJavaVM Ссылка из: /projects/main -project/ node_modules/java/build/Release/nodejavabridge_bindings.node Ожидается в: плоском пространстве имен
dyld: Символ не найден: _JNI_CreateJavaVM Ссылка на: /projects/main -project/ node_modules/java/build/Release/nodejavabridge_bindings.node Ожидается в: плоском пространстве имен
Я нашел Undefined символы для архитектуры x86_64: JNI_CreateJavaVM OS-X Xcode, который наиболее близок мне, что объясняет мою точную проблему, но я не используя xcode для разработки, я на платформе node.js.
Кто-нибудь еще видел это раньше? Что это значит?
До сих пор я пробовал:
node_moudles
<string>JNI</string>
Пользователь: ~ kawnah $sudo rm -fr /Library/PreferencePanes/JavaControlPanel.prefПанель пользователя: ~ kawnah $sudo rm -fr ~/Library/Приложение\Поддержка/Пользователь Java: ~ kawnah $java -version java version "9.0.1" Java (TM) SE Runtime Environment (сборка 9.0.1 + 11) Виртуальная виртуальная машина на базе Java HotSpot TM (сборка 9.0.1 + 11, смешанный режим)
Я НАКОНЕЦ понял это!
Мне нужен этот пакет npm для node -java для правильной работы на моей машине https://www.npmjs.com/package/winreg
npm install winreg
разрешено все проблемы
В основном, эта ошибка говорит вам, что существует проблема с символической ссылкой на файл в этом модуле, который вы пытаетесь использовать.
Mac OS X DYLD - это ОС динамический компоновщик. Его задача - более или менее - загружать совместно используемые библиотеки для ОС при запросе ресурсов.
Существует ряд причин, из-за неудачного процесса обновления на самом модуле, чтобы привести к повреждению и т.д.
Наиболее распространенным решением (1) для этой конкретной проблемы является удаление вашей папки node_modules и запуск новой установки NPM в локальных и глобальных каталогах:
rm -rf node_modules/
npm install
Вы также можете попытаться восстановить npm, но чистая установка, как правило, лучший путь для перехода.
Попробуйте вручную включить JNI, отредактировав /Library/Java/JavaVirtualMachines/<version>.jdk/Contents/Info.plist
и добавив JNI в качестве опции в JVMCapabilities:
<key>JVMCapabilities</key>
<array>
...
<string>JNI</string>
</array>
Как найдено в https://github.com/joeferner/node-java/issues/223#issuecomment-110408072
Попробуйте xcode-select --install
, а затем npm rebuild
Проверьте этот поток, проблема кажется яблочным xcode (в вашем случае это может быть компилятор С++), обсуждение для ruby vm, но может быть аналогично для jvm.
Обычно проверяйте/обновляете свой компилятор С++/c, а затем попробуйте что-нибудь еще, например, выберите другую версию java и добавьте JNI к возможностям. Последнее, что нужно упомянуть node -gyp, нуждается в python версии 2.x, как указано в README node -java.