使用 nvm 构建 node.js 时 node_crypto.cc 出错

使用 nvm 构建 node.js 时 node_crypto.cc 出错

错误信息如下(尝试了node v0.4.1,v0.4.7等多个版本):

../src/node_crypto.cc:101:29: error: ‘SSLv2_method’ was not declared in this scope
../src/node_crypto.cc:103:36: error: ‘SSLv2_server_method’ was not declared in this scope
../src/node_crypto.cc:105:36: error: ‘SSLv2_client_method’ was not declared in this scope
Waf: Leaving directory `/home/gustavo/.nvm/src/node-v0.4.7/build'
Build failed:  -> task failed (err #1): 
    {task: cxx node_crypto.cc -> node_crypto_4.o}

答案1

在 Oneiric 及更高版本中,openssl 在构建时禁用了 sslv2,因为该版本的协议存在已知的安全漏洞。

从 node v0.4.9 开始,configure 脚本可以检测 sslv2 是否已启用并采取正确的操作(提交 f23c45f7f461)。

另一个选项是在构建节点时禁用 ssl。

相关内容