An open API service indexing awesome lists of open source software.

https://github.com/strongloop/loopback-oracle-installer

Loopback Oracle Installer
https://github.com/strongloop/loopback-oracle-installer

Last synced: 9 months ago
JSON representation

Loopback Oracle Installer

Awesome Lists containing this project

README

          

# loopback-oracle-installer

The Oracle connector version 3.0.0 or above depends on the [oracledb](https://github.com/oracle/node-oracledb) module as the Node.js driver for Oracle databases. Since `oracledb` is a [C++ add-on](http://nodejs.org/api/addons.html), the installation requires C++ development tools to compile and build the module from source code. For more information, see [Installing compiler tools](http://loopback.io/doc/en/lb3/Installing-compiler-tools.html).

At runtime, strong-oracle also requires dynamic libraries from 
[Oracle Database Instant Client](http://www.oracle.com/technetwork/database/features/instant-client/index.html).

The `loopback-oracle-installer` module takes care of the binary dependencies and simplifies the whole process.  

The installer automatically downloads and extracts the prebuilt `oracledb` to the `/loopback-connector-oracle/node_modules` directory and Oracle Database Instant Client into `/oracle-instant-client`. If a prebuilt bundle does not exist for your client platform and Node version, the installer prompts you to install Oracle prerequisites.
For more information, see [Installing node-oracledb](https://github.com/oracle/node-oracledb/blob/master/INSTALL.md).

Once you've installed the Oracle prerequisites, re-install the Oracle connector by entering following command:

```shell
$ npm install loopback-connector-oracle --save
```

This internally executes the `npm install oracledb` command.

## Troubleshooting

If you have problems installing `loopback-connector-oracle`, make sure this symbolic link exists:

```
libclntsh.dylib -> libclntsh.dylib.11.1
```

Make sure you've set the following environment variables (for example on OS X):

```
$ export OCI_LIB_DIR=$HOME/oracle-instant-client
$ export OCI_INC_DIR=$HOME/oracle-instant-client/sdk/include
```

If a prebuilt bundle does not exist for your client platform and Node version, and you have installed
Oracle pre-requisites as described in [Installing node-oracledb](https://github.com/oracle/node-oracledb/blob/master/INSTALL.md), then
set the environment variables as follows:

```
$ export OCI_LIB_DIR=/opt/oracle/instantclient
$ export OCI_INC_DIR=/opt/oracle/instantclient/sdk/include
```

## Post-installation setup

{% include warning.html content="Before you run the application, you **MUST** configure the environment variable depending on the target platform to make sure the dynamic libraries
from Oracle Instant Client are available to your Node process.
" %}

### MacOS X or Linux

Enter this command to set the `LD_LIBRARY_PATH` environment variable:

```
$ export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$HOME/oracle-instant-client"
```

If a prebuilt bundle does not exist for your client platform and Node version, and you have installed Oracle prerequisites as per [Installing node-oracledb](https://github.com/oracle/node-oracledb/blob/master/INSTALL.md), then set the environment variables as follows:

```
$ export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$OCI_LIB_DIR"
```

### Linux

On Linux systems, the `libaio` library is required. If it is not present, you must install it as follows:

Ubuntu/Debian:

```
$ sudo apt-get install libaio1
```

Fedora/CentOS/RHEL:

```
$ sudo yum install libaio
```

### Windows

Set the PATH environment variable for the logged-in user. Note however that the PATH setting will NOT be effective immediately. You must activate it using one of the methods below:

1. Log off the current user session and log in again.
2. Follow these steps to reset environment variables:
- Open Control Panel --> System --> Advanced System Settings --> Environment Variables.
- Examine the **Path** under **User variables**, and click **OK** to activate it.
- Open a new Command Prompt then enter the 'path' command to verify.

## Installation behind a proxy server

{% include important.html content="
This feature is supported by loopback-oracle-installer vesion 1.1.3 or later.
" %}

If your system is behind a corporate HTTP/HTTPS proxy to access the internet, you must set the proxy for npm before running `npm install`.

For example,

```shell
$ npm config set proxy http://proxy.mycompany.com:8080
$ npm config set https-proxy http://https-proxy.mycompany.com:8080
```

If the proxy URL requires username/password, use the following syntax:

```shell
$ npm config set proxy http://youruser:yourpass@proxy.mycompany.com:8080
$ npm config set https-proxy http://youruser:yourpass@https-proxy.mycompany.com:8080
```

You can also set the proxy as part of the npm command as follows:

```shell
$ npm --proxy=http://proxy.mycompany.com:8080 install
$ npm --https-proxy=http://https-proxy.mycompany.com:8080 install
```

NOTE: npm's default value for [proxy](https://www.npmjs.org/doc/misc/npm-config.html#proxy) is from the `HTTP_PROXY` or `http_proxy` environment variable.
And the default value for [https-proxy](https://www.npmjs.org/doc/misc/npm-config.html#https-proxy) 
is from the `HTTPS_PROXY`, `https_proxy`, `HTTP_PROXY`, or `http_proxy` environment variable.
So you can configure the proxy using environment variables too.

Linux or Mac:

```shell
HTTP_PROXY=http://proxy.mycompany.com:8080 npm install
```

Windows:

```shell
set HTTP_PROXY=http://proxy.mycompany.com:8080
npm install
```