我正在尝试使用npm install安装一个node.js模块(在这种情况下是zmq)。该模块所需的C库未安装在标准位置。我应该如何向npm指定额外的包含路径和库路径呢?我已经尝试了像"CFLAGS="-I/path/to/include" npm install"这样的方式,但没有效果。
Zeromq模块的构建方法如下(其他模块可能也适用):
/tmp/zeromq.node-master
binding.gyp
文件。-I
和库-L
路径。例如:
['OS=="linux"', {
'cflags': [
'<!(pkg-config libzmq --cflags 2>/dev/null || echo "")',
'-I/usr/local/zeromq3/include'
],
'libraries': [
'<!(pkg-config libzmq --libs 2>/dev/null || echo "")',
'-L/usr/local/zeromq3/lib'
],
}],
npm install /tmp/zeromq.node-master
。
CXXFLAGS
以及在LDFLAGS
中设置-L
,最终解决了这个问题。 - John