网上找了N多编译安装oracledb的方法,但都没说清楚,我这个是离线安装,从无到有如下(red-hat服务器):
1.gcc-6.3.0 安装最新的gcc客户端
1.1 官网下载最新版gcc-6.3 1.2 查看下载说明,需要顺序安装 1.2.1 下载gmp-6.1.2.tar.bz2,mpfr-3.1.5.tar.gz,mpc-1.0.3.tar.gz 1.2.2 顺序安装(./configure && make && make install) 1.2.3 cp libgmp.so.10 /usr/lib64/libgmp.so.10 1.2.4 cp libmpfr.so.4 /usr/lib64/libmpfr.so.4 1.2.5 cp libmpc.so.3 /usr/lib64/libmpc.so.3 1.3 ./configure --prefix= /usr/local/gcc-6.3.0 --disable-multipy 1.4 make && make install 1.5 连接(/usr/bin) lrwxrwxrwx 1 root root 28 2月 20 14:50 g++ -> /usr/local/gcc-6.3.0/bin/g++ lrwxrwxrwx 1 root root 28 2月 20 14:57 gcc -> /usr/local/gcc-6.3.0/bin/gcc lrwxrwxrwx 1 root root 28 2月 20 14:57 gcj -> /usr/local/gcc-6.3.0/bin/gcj 1.6 nodejs环境变量 export LD_LIBRARY_PATH=/usr/local/gcc-6.3.0/lib64:$ORACLE_HOME:$LD_LIBRARY_PATH
2.python-2.7.13 安装python-2.7,源机器安装的是2.6 2.1 官网下载python-2.7 2.2 ./configure && make && make install 2.3 更新替换python which python(python) rm python ln -s /usr/local/Python-2.7.13/python python 2.4 验证 python -v
3.node-v7.5.0 3.1 官网下载最新版(未编译版),node-v7.5.0 3.2 ./configure --prefix=/opt/nodejs/node-v7.5.0 ,报错(没有找到zlib) 3.3 安装zlib 3.3.1下载zlib-1.2.11.tar.gz 3.3.2 ./configure --prefix=/usr/local/zlib-1.2.11 && make && make install 3.3.3 vi //etc/ld.so.conf.d/zlib.conf(内容为zlib路径:/usr/local/zlib-1.2.11) ,ldconfig 3.3.4 重新安装python (./configure --with-zlib) 3.4 继续安装node: make && make install 3.5 环境变量 (vi .bashrc source .bashrc) export NODE_HOME=/opt/nodejs/node-v7.5.0 export PATH="$NODE_HOME/bin:$PATH" export NODE_PATH="$NODE_HOME/lib/node_modules" export NODE_PATH="$NODE_PATH:$NODE_PATH/npm/node_modules" 3.6 验证 node -v npm -v
4.node-gyp 4.1 gyp已经node自带安装 4.2 node-gyp命令执行需要指定(ln -s /opt/nodejs/node-v7.5.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js node-gyp) 4.3 node-gyp编译时可能需要连官网(如果是离线,可搭建本地网站) 4.4 http://192.168.69.136:8089/nodejs/v7.5.0/ 4.5 可能需要从官网下载node-v7.5.0-headers.tar.gz、SHASUMS256.txt 4.5 node-gyp --disturl=http://192.168.69.136:8089/nodejs configure 4.6 node-gyp build
5.oracle-client
5.1 官网下载
instantclient-basic-linux.x64-11.2.0.4.0.zip
instantclient-sdk-linux.x64-11.2.0.4.0.zip
instantclient-sqlplus-linux.x64-11.2.0.4.0.zip
5.2 安装
5.2.1 解压
5.2.2 ln -s libclntsh.so.11.1 libclntsh.so 5.2.3 tns:tnsnames.ora
5.3 环境变量
export ORACLE_HOME=/opt/nodejs/instantclient_11_2
export PATH=$ORACLE_HOME:$PATH
export LD_LIBRARY_PATH=/usr/local/gcc-6.3.0/lib64:$ORACLE_HOME:$LD_LIBRARY_PATH
export TNS_NAMES=$ORACLE_HOME
export TNS_ADMIN=$ORACLE_HOME
export OCI_LIB_DIR=$ORACLE_HOME
export OCI_INC_DIR=$ORACLE_HOME/sdk/include
6.oracledb 6.1 下载官网node-oracledb-master.zip 6.2 可能需要依赖报nan 6.3 编译(node-gyp) 6.4 放入公共node_modules