如何通过命令行在AWS centos6上安装node-oracledb模块?

时间:2017-07-18 11:57:12

标签: javascript node.js centos6 oracledb node-oracle

我正在开发一个项目,我希望我的基于Node.js的后端与Oracle DB进行通信。在Windows系统上开发本地时,安装node-oracledb模块的前提条件并不困难,如此处所述{{ 3}}但是现在当我想为centos6安装相同的先决条件时,我面临着问题。

先决条件清单

  1. C编译器,支持C ++ 11。
  2. 的Python。
  3. Oracle Instant Client“基本”和“SDK”包。
  4. 安装前两个并不是一个挑战,但找到3包的rpm包是一个凝灰岩任务。

    注意:必须使用命令行完成所有操作。

3 个答案:

答案 0 :(得分:1)

目前,无法通过RPM获得Oracle Instant Client库。作为一种解决方法,许多人以正常方式下载库,然后将它们放在可以通过网络访问它们的地方。然后他们使用像curl这样的命令行工具在需要时将它们拉入。

答案 1 :(得分:0)

Instant Client RPM适用于32-bit64-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。