本文章主要阐述在离线环境下安装zeromq.js的方法和步骤。zeromq.js下载地址:
https://github.com/zeromq/zeromq.js
由于局域网网络限制问题,加上GitHub上的安装说明太简单,只能通过先从联网机器安装成功后,然后将node_mudules打包后上传至局域网服务器上继续安装。
前提条件:node已经安装,g++ 4.8以上,Python2.7,zeromq 4.1.6已经安装,联网环境和局域网环境最好一致,否则会有意想不到的错误。
主要分为以下两个步骤:
#联网情况下:
使用系统已经安装的zmq安装,预先要设置两个变量,即指定系统原有zmq安装路径(zeromqdir为实际zeromq安装路径)的头文件和动态库的路径等:
export CXXFLAGS="-I $(readlink -f zeromqdir/include)"
export LDFLAGS="-L $(readlink -f zeromqdir/.libs) -Wl,-rpath=$(readlink -f zeromqdir/.libs)"
执行命令:npm install --zmq-external, 安装成功后会打印相应信息。
将执行结束后的node_mudules打包。tar zcvf node_modules.tar.gz node_mudules/
#移植到内部网
前提条件:node已经安装,g++ 4.8以上,Python2.7。
上传并解压node_modules.tar.gz,修改相关文件,然后编译zmq.node动态库,需要修改相关文件:
进入node_modules/zeromq/build 目录,编辑Makefile,修改原有错误的node路径,编辑zmq.target.mk,同样修改
node的include路径,否则会报错。修改config.gypi文件中nodedir项目为实际路径,删除原有Release目录下所有文件。
使用系统已经安装的zmq安装,预先要设置两个变量,即指定系统原有zmq安装路径的头文件和动态库的路径等:
export CXXFLAGS="-I $(readlink -f zeromqdir/include)"
export LDFLAGS="-L $(readlink -f zeromqdir/.libs) -Wl,-rpath=$(readlink -f zeromqdir/.libs)"
然后在build目录下执行make命令,安装成功,可以看到在Release目录下生成了zmq.node文件,此文件为动态库,通过ldd命令可以看到其链接到了
系统的zmq动态库。