我正在尝试为节点js构建hello world c ++插件。 node.js和node-gyp似乎已成功安装到redhat linux中。但是,当我运行“node-gyp configure”时,它给出了以下错误。我没有通过gooling以及wiki页面获得任何有见地的信息。请你劝告吗?
我从源代码构建了python并进行了自定义安装。 libpython2.7.so.1.0如下所示:$ PYTHONPATH以及$ LD_LIBRARY_PATH。节点或节点gyp是否为共享库搜索了一个相当不同的环境?
提前致谢。
堆叠错误:
~/examples/node.js/my_node_addon-1[13:14]% node-gyp configure
gyp info it worked if it ends with ok
gyp info using node-gyp\@0.10.10
gyp info using node\@0.10.18 | linux | x64
gyp ERR! configure error
gyp ERR! stack Error: Command failed: python: error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory
gyp ERR! stack
gyp ERR! stack at ChildProcess.exithandler (child_process.js:637:15)
gyp ERR! stack at ChildProcess.EventEmitter.emit (events.js:98:17)
gyp ERR! stack at maybeClose (child_process.js:735:16)
gyp ERR! stack at Socket.<anonymous> (child_process.js:948:11)
gyp ERR! stack at Socket.EventEmitter.emit (events.js:95:17)
gyp ERR! stack at Pipe.close (net.js:466:12)
gyp ERR! System Linux 2.6.18-194.32.1.el5
gyp ERR! command "node" "/work/dengf/conf/bin/node-gyp" "configure"
gyp ERR! cwd /home/dengf/examples/node.js/my_node_addon
gyp ERR! node -v v0.10.18
gyp ERR! node-gyp -v v0.10.10
gyp ERR! not ok
但是当我单独运行python时,它可以很好地加载共享库:
~/examples/node.js/my_node_addon-1[13:14]% python -V
Python 2.7.3
另外,我的binding.gyp如下:
{
'targets': [
{
'target_name': 'hello',
'sources': [ 'src/hello.cc' ],
'include_dirs': ['/path/to/my/include'],
'link_settings': {
'library_dirs': [
'/path/to/my/libpython2.7.so.1.0'
]
}
}
]
}
答案 0 :(得分:2)
最后,经过2天的连续跟踪和调试,我对此进行了排序。但是,我不确定这是否是由于我自定义的Python安装。我在~node_modules / node-gyp / lib / configure.js中更新了下面的代码(在注释行93到94更改了原始代码:
93 // var env = { TERM: 'dumb', PATH: process.env.PATH};
94 var env = process.env;
如果组中的任何node.js专家能够帮助理解上述变化,我将非常感激吗?
我也在google group nodejs上发布了这个问题,所以仅供参考。
再次感谢 丰