如何使用静态 libssl 和加密库构建 Node.js?

如何使用静态 libssl 和加密库构建 Node.js?

[更新] 已找到解决方案:https://github.com/robhawkes/node-extension/issues/1

我将 Node 嵌入到浏览器扩展中,并且不希望用户手动安装 openssl 甚至知道它是什么,我宁愿将它捆绑到 Node 构建中或静态链接到浏览器扩展中保存的文件。

我已经知道如何在 Node 中完全禁用 openssl,并且该解决方案有效,但是我想启用 openssl,以防我的用户在某些时候需要它。

我也知道--openssl-includes--openssl-libpath ./configure标志,但是当我将它们指向包含 libssl 和 crypto 的静态构建的目录时,它们似乎并没有按照我想要的方式运行 - 构建失败,因为它找不到“SSL_library_init”函数。

有什么想法可以做到这一点吗?如果有帮助的话,我现在对仅适用于 OS X 的解决方案很满意。我可以稍后再解决其余问题。

我很感谢你的帮助。

答案1

已找到解决方案。Node 的创建者 Ryan Dahl。基本上,我只需要使用似乎随 Node 0.6 版本一起提供的新 gyp 构建过程。在options.gypi构建期间生成的文件中,您可以将设置为node_use_system_opensslfalse它将使用 openssl 的静态库。

更多细节:https://github.com/robhawkes/node-extension/issues/1

相关内容