Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何通过命令行在AWS centos6上安装节点oracledb模块?_Javascript_Node.js_Oracle_Centos6_Node Oracledb - Fatal编程技术网

Javascript 如何通过命令行在AWS centos6上安装节点oracledb模块?

Javascript 如何通过命令行在AWS centos6上安装节点oracledb模块?,javascript,node.js,oracle,centos6,node-oracledb,Javascript,Node.js,Oracle,Centos6,Node Oracledb,我正在从事一个项目,希望基于Node.js的后端能够与Oracle DB进行本地通信,同时在windows系统上进行开发。安装此处提到的Node oracledb模块的必备组件并不困难,但现在,当我想为centos6安装相同的必备组件时,我面临着一些问题 先决条件清单 支持C++ 11的编译器。 蟒蛇 Oracle即时客户端“基本”和“SDK”软件包 安装前两个并不是一项挑战,但为3找到rpm包是一项艰巨的任务 注意:所有操作都必须使用命令行完成。Oracle即时客户端库目前无法通过RPM使用。

我正在从事一个项目,希望基于Node.js的后端能够与Oracle DB进行本地通信,同时在windows系统上进行开发。安装此处提到的Node oracledb模块的必备组件并不困难,但现在,当我想为centos6安装相同的必备组件时,我面临着一些问题

先决条件清单

  • 支持C++ 11的编译器。
  • 蟒蛇
  • Oracle即时客户端“基本”和“SDK”软件包
  • 安装前两个并不是一项挑战,但为3找到rpm包是一项艰巨的任务


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

    Oracle即时客户端库目前无法通过RPM使用。作为一种解决办法,许多人以正常方式下载这些库,然后将它们放在可以通过网络访问的地方。然后,他们使用命令行工具(如curl)在需要时将其拉入。

    即时客户端RPM可用于和Linux。(即时客户端主页是。)因为Centos不是一个官方支持的Linux,所以YMMV使用RPM

    如果RPM因任何原因无法使用,则下载即时客户端ZIP文件,解压缩它们,并创建符号链接
    ln-s libclntsh.so.12.1 libclntsh.so

    即时客户端库需要位于
    LD\u LIBRARY\u 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
    将自动拉入此依赖项,或者您可以单独安装它。

    经过所有搜索和努力,我终于能够通过命令行在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
    
    [~]: 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%]
    
    上述命令将下载oracle instant client的rpm包

    2) 安装下载的rpm软件包

    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
    
    [~]: 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++编译器和DeVoToSs2编译器。现在是安装oracledb的时候了

    在使用DevTools2编译器编译C++11代码之前,需要在新的shell中启用它:

    scl enable devtoolset-2 bash
    
    现在,安装oracledb

    npm install oracledb
    

    这将安装oracledb。

    我想你指的是NPM而不是RPM?我指的是RPM,就像在命令行工具中一样,不是文件格式。百胜和NPM也是如此:)即时客户端rpm必须与rpm或yum命令行工具一起安装。(我在要解决的一般问题中遗漏了什么?)同时,对于支持Oracle Linux的用户,即时客户端RPM软件包也在ULN上,因此这些用户甚至不需要单独下载。我认为问题在于他无法通过命令行获取RPM。我建议他只获取一次,然后把它们放到可以通过命令行获取的地方。谢谢,你的评论帮了我的忙。