我最初使用标准编译程序在Mac OS Lion上编译节点没有问题,但是当调用process.arch
时注意到它正在返回ia32
。我只能假设默认的构建配置是针对32位架构的。
调用--dest-cpu=x64
选项时,configure输出显示:
{ 'target_defaults': { 'cflags': [],
'defines': [],
'include_dirs': [],
'libraries': ['-lz']},
'variables': { 'host_arch': 'ia32',
'node_debug': 'false',
'node_install_npm': 'true',
'node_prefix': '/usr/local',
'node_shared_cares': 'false',
'node_shared_v8': 'false',
'node_use_dtrace': 'false',
'node_use_isolates': 'true',
'node_use_openssl': 'true',
'node_use_system_openssl': 'false',
'target_arch': 'ia32',
'v8_use_snapshot': 'true'}}`
这表明节点检测到并仍然编译为32位架构。这是配置文件中的错误,我希望节点在本机64位系统上编译为64位?我唯一能想到的是V8快照是32位的;这是否意味着为64位拱门编译我自己的V8版本?