我正在尝试从node.js应用程序连接到DB2。我决定使用db2 node module。首先,安装
看到node-gyp的先决条件,它说我需要gcc。在我的系统上对gcc进行man操作,显示
在最后一个命令中,我收到了这个错误:
db2.js
的说明告诉你要像这样安装node-gyp
: sudo npm install -g node-gyp
。这对我似乎起作用了。然后我尝试使用以下命令安装db2.js: sudo npm install -g db2
,然后我收到了这个错误:...
cc1plus: error: unrecognized command line option "-std=c++0x"
...
gyp ERR! node -v v0.10.9
gyp ERR! node-gyp -v v0.9.6
看到node-gyp的先决条件,它说我需要gcc。在我的系统上对gcc进行man操作,显示
-std
选项仅支持一些非常旧的编译器,如c++98
,gnu99
等。我有gcc版本4.1.2 20080704 (Red Hat 4.1.2-50)
。
所以我有几个问题。有没有其他方法从节点连接到db2?如果我继续使用db2.js,那么现在我需要做什么,升级我的gcc还是安装一个c++0x
编译器?(我想这是C ++版本11)。
祝我好运。
编辑:
我在我的Linux服务器上升级gcc遇到了麻烦,所以我尝试在我的Raspberry Pi上安装作为测试:
sudo npm install -g node-gyp
cd /usr/lib/node_modules
sudo git clone https://github.com/herzi/db2.js.git
sudo node-gyp configure
sudo node-gyp build
在最后一个命令中,我收到了这个错误:
In file included from ../src/binding.cc:3:0:
../src/connection.hh:6:20: fatal error: sqlcli.h: No such file or directory
compilation terminated.
我猜这是DB2客户端头文件,所以我可能还需要安装它。
编辑2
我在系统中的不同目录下安装了gcc
。然后我更改了/usr/bin
中gcc
和g++
的符号链接,使它们指向我的新gcc和g++(在gcc内部)。现在我得到了与我的树莓派上相同的sqlcli.h
错误。是时候获取DB2客户端了。
我有db2客户端9.1.2。根据在db2 binding.gyp
文件中的一些搜索,我需要9.7。
gcc
太艰辛了!它已经构建了几个小时。 - Jess