我正在开发一个项目,我希望我的基于Node.js的后端与Oracle DB进行通信。在Windows系统上开发本地时,安装node-oracledb模块的前提条件并不困难,如此处所述{{ 3}}但是现在当我想为centos6安装相同的先决条件时,我面临着问题。
先决条件清单
安装前两个并不是一个挑战,但找到3包的rpm包是一个凝灰岩任务。
注意:必须使用命令行完成所有操作。
答案 0 :(得分:1)
目前,无法通过RPM获得Oracle Instant Client库。作为一种解决方法,许多人以正常方式下载库,然后将它们放在可以通过网络访问它们的地方。然后他们使用像curl这样的命令行工具在需要时将它们拉入。
答案 1 :(得分:0)
Instant Client RPM适用于32-bit和64-bit Linux。 (Instant Client主页为here。)由于Centos不是官方支持的Linux,而是带有RPM的YMMV。
如果RPM因任何原因无法使用,请下载Instant Client ZIP文件,解压缩并创建符号链接ln -s libclntsh.so.12.1 libclntsh.so
。
Instant Client库需要位于LD_LIBRARY_PATH
,或者您可以使用类似于的ldconfig:
sudo sh -c "echo /opt/oracle/instantclient_12_2 > /etc/ld.so.conf.d/oracle-instantclient.conf"
sudo ldconfig
您还需要安装OS libaio软件包。在RPM上使用yum
将自动提取此依赖关系,或者您可以单独安装它。
答案 2 :(得分:0)
经过所有搜索和努力,我终于可以通过命令行在我的Centos系统上安装oracledb。
请以root用户身份在命令行上执行以下步骤(假设已安装Python):
1)下载所需的rpm Oracle即时客户端软件包。
wget ftp://ftp.icm.edu.pl/vol/rzm6/linux-slc/centos/7.1.1503/cernonly/x86_64/Packages/oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm
wget ftp://ftp.icm.edu.pl/vol/rzm6/linux-slc/centos/7.0.1406/cernonly/x86_64/Packages/oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm
wget ftp://ftp.icm.edu.pl/vol/rzm6/linux-slc/centos/7.0.1406/cernonly/x86_64/Packages/oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64.rpm
以上命令将为oracle即时客户端下载rpm包。
2)安装下载的rpm软件包。
[~]: sudo rpm -ivh oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm
Preparing... ########################################### [100%]
1:oracle-instantclient12.########################################### [100%]
[~]: sudo rpm -ivh oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm
Preparing... ########################################### [100%]
1:oracle-instantclient12.########################################### [100%]
[~]: sudo rpm -ivh oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64.rpm
Preparing... ########################################### [100%]
1:oracle-instantclient12.########################################### [100%]
3)下载DevTools2的repo文件,这是一个包含受支持的C ++ 11编译器的Red Hat软件包。
wget http://people.centos.org/tru/devtools-2/devtools-2.repo -O /etc/yum.repos.d/devtools-2.repo
4)安装编译器和支持工具。
yum install devtoolset-2-gcc devtoolset-2-binutils devtoolset-2-gcc-c++
上面的步骤将下载Oracle即时客户端,C ++编译器和DevTools2编译器。现在是时候安装oracledb了。
在使用DevTools2编译器编译C ++ 11代码之前,需要在新shell中启用它:
scl enable devtoolset-2 bash
现在,安装oracledb
npm install oracledb
这将安装oracledb。