【发布时间】:2015-08-25 12:41:53
【问题描述】:
我正在使用 angular 和 nodeJS 制作一个简单的应用程序,并且需要连接到 DB2 才能访问一些程序。 nodeJS 服务器安装在 Centos 6.5 服务器机器上,但是当我尝试使用 npm 安装 ibm_db 时,它显示了某种错误,开始于
{ [Error: Command failed: In file included from ../src/odbc.h:23,
from ../src/odbc.cpp:25:
并以某种 GYP 错误结束。
> gyp ERR! build error
> gyp ERR! stack Error: `make` failed with exit code: 2
> gyp ERR! stack at ChildProcess.onExit (/usr/lib/node_modules/node-gyp/lib/build.js:267:23)
> gyp ERR! stack at ChildProcess.emit (events.js:98:17)
> gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:820:12)
> gyp ERR! System Linux 2.6.32-504.el6.x86_64
> gyp ERR! command "node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "build" "--IBM_DB_HOME=/var/www/html/m-siam/trunk/server/node_modules/ibm_db/installer/clidrive
> gyp ERR! cwd /var/www/html/m-siam/trunk/server/node_modules/ibm_db
> gyp ERR! node -v v0.10.36
> gyp ERR! node-gyp -v v0.10.6
gyp 错误!不行
当我尝试运行 nodeJS 服务器时,它显示“无法加载绑定文件”错误。
如何正确安装此模块?我正在使用 nodeJS 0.10.36 并安装 ibm_db 版本 0.0.8(来自 package.json 的版本)和版本 0.0.10 会导致相同的错误。
【问题讨论】:
-
odbc.h 中的第 23 行指向用于本地抽象的“nan.h”。不确定您是否需要手动将其拉入。npmjs.com/package/nan
-
@HenrikLoeser 我手动安装了 nan (npm install nan) 但没有任何改变,仍然是同样的错误。
-
您是否在本地安装了 DB2?我问你是否安装了 DB2 开发库。
-
ibm_db 模块自动安装了 DB2 ODBC CLI 驱动程序。不是那个吗?不过,我可以使用 db2_connect() 使用 PHP 连接到数据库(在我安装 nodeJS 的同一台服务器机器上)。