[Обновление] Решение найдено: https://github.com/robhawkes/node-extension/issues/1
Я встраиваю Node в расширение браузера и не хочу, чтобы пользователь вручную устанавливал openssl или даже знал, что это такое, я бы предпочел, чтобы он был включен в сборку Node или статически связан с файлами, хранящимися в расширении браузера.
Я уже знаю, как полностью отключить openssl в Node, и это решение работает, однако я бы хотел, чтобы openssl был включен, если моим пользователям это понадобится в какой-то момент.
Я также знаю о --openssl-includes
и --openssl-libpath
./configure
flags, однако они, похоже, не делали то, что я хотел, когда я указал им на каталог, содержащий статическую сборку libssl и crypto - сборка не удалась, потому что не удалось найти функцию «SSL_library_init».
Есть идеи, как я могу это сделать? Если это поможет, я пока доволен решением только для OS X. Остальное я смогу решить позже.
Я ценю помощь.
Решение было найдено через. Райан Даль, создатель Node. По сути, мне просто нужно было использовать новый процесс сборки gyp, который, похоже, появился с версиями Node. В рамках options.gypi
файл, который создается во время сборки, вы можете установить node_use_system_openssl
к false
и он будет использовать статическую библиотеку для openssl.
Подробнее: https://github.com/robhawkes/node-extension/issues/1