Unable to load oracledb - node.js

I'm upgrading my Node js application from version 8 to version 10
suddenly when i tried to run the application it throws an error with the description bellow
cannot load the oracledb add-on binary for Node.js 10.9.0 (win32, x64)
NODE_MODULE_VERSION 57. This version of Node.js requires
NODE_MODULE_VERSION 64. Please try re-compiling or re-installing the
module (for instance, using npm rebuild or npm install).
Node-oracledb installation instructions:
https://oracle.github.io/node-oracledb/INSTALL.html
if i downgrade my nodejs to version 8, it works like a charm, my application uses some version 10 features that recently added
i have tried to remove all modules and then i typed npm install in order to reinstall modules properly i got failed with message above.
i also tried to follow node js installation with no luck, what should i do ?

Related

Is there a way to use OracleDB with Node 10.15?

I am limited in my cloud environment to Node v10.15.x and I need 10+ for experimental-modules. However, when I try to install OracleDB I get...
oracledb ERR! NJS-069: node-oracledb 4.1.0 requires Node.js 10.16 or later
oracledb ERR! An older node-oracledb version may work with Node.js v10.15.0
If I try downgrading OracleDB to 3.1.2 it requires Node 8 so this won't work either.
oracledb ERR! NJS-067: a pre-built node-oracledb binary was not found for Node.js v12.1.0 (NODE_MODULE_VERSION=72) on win32 x64
oracledb ERR! Try compiling node-oracledb source code using https://oracle.github.io/node-oracledb/INSTALL.html#github
Is there a way to get oracledb to work with Node 10.15?
Update
This seems to not be clear so let me be explicit. Locally I have Node 12 this works fine with v 4.1.0 of OracleDB. However, this doen't work when I try to upload to Cloud Foundry because the version is 10.15. When I downgrade to 3.1.2 OracleDB it no longer compiles locally and won't deploy to Gaia because it needs a version of node that is less than 9 and we need greater than 9 for other features.
There were prebuilt node-oracledb 3.1.2 binaries for Node 6, 8, 10, and 11.
Your text above says you want to use Node.js 10.15 but your example shows you tried to install on Node.js 12: Node.js v12.1.0 (NODE_MODULE_VERSION=72), hence your error. Make sure Node.js is the desired version 10, and try again with node-oracledb 3.1.2.
If you want to use node-oracledb 4 with Node.js 10.15, then compile from source code. The message is clear.
But you really should upgrade Node.js to a later version and get all the Node.js security fixes.
Update to address comment: if npm can't access the npmjs.com repo, you may be able to manually download https://registry.npmjs.com/oracledb/-/oracledb-3.1.2.tgz and install from a local file e.g. npm install /file/path/to/oracledb-3.1.2.tgz or in package.json use a dependency "oracledb": "file:/file/path/to/oracledb-3.1.2.tgz", similar to https://oracle.github.io/node-oracledb/INSTALL.html#selfhost.

How to update the NodeJS version in linux? (Issue occurs when trying to install jsreport-pdf-password)

2019-04-04T04:34:49.035Z - error: Error when loading extension Error: The module '/media/vishesh/Disc/working/examples/jsreport_pdf_password_install_tryout/node_modules/jsreport-pdf-password/node_modules/hummus/binding/hummus.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 51. This version of Node.js requires
NODE_MODULE_VERSION 57. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).
Error: The module '/media/vishesh/Disc/working/examples/jsreport_pdf_password_install_tryout/node_modules/jsreport-pdf-password/node_modules/hummus/binding/hummus.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 51. This version of Node.js requires
NODE_MODULE_VERSION 57. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).
I have tried downgrading node version using nvm. I have successfully done it and reduce to the required version (i.e)8.9.1. Thus when i check the command "node -v" i get 8.9.1.
But when i check "nodejs -v" i only get 11.9.0. Thus the above mentioned error occurred. I am unable to identify how to change the nodejs version also ? Any ideas ?
Also, i have tried installing "jsreport-pdf-password" with same version 11.9.0 in node and nodejs in a completely different folder and also by deleting the node_modules. Still getting this error.
After downloading node version using the command nvm install 8.9.1, it will download that version but won't use it. To use version 8.9.1 you have to run another command nvm use 8.9.1. Then your node version manager will start to use 8.9.1.
I got it. I searched in stackoverflow for a while and got in a post that node is the alias used by npm for nodejs. The nodejs is alias of nodejs version that the ubuntu os installs. Thus i removed the nodejs using this command "sudo apt-get remove nodejs".
Then i used nvm and set 7.10.0 as default node version. Later installed the package jsreport-pdf-password and ran the code. Now there was no error in run time regarding any version missmatch.
As far as the package is conserned it requires node version 7 and anything above or below, the error in question occurs. I tried to even rebuild the package at a later version but it did not solve the issue. Thus i recommend not to use this package if your node version is greater than 7.

AWS Elasticbeanstalk Upgrade Issue Caused by lovell/sharp module

I'm trying to upgrade a live node application that resides in AWS Elastcibeanstalk from v8.12.0 to v10.13.0
and the only issue that I see is caused by sharp complaining about being built with a different version.
Here's the error:
Error: The module '/var/app/current/node_modules/sharp/build/Release/sharp.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 57. This version of Node.js requires
NODE_MODULE_VERSION 64. Please try re-compiling or re-installing
the module (for instance, using npm rebuild or npm install).
I can't upgrade our prod aws elb instances because of this issue.
Not sure what to do at this point..

Issues with using sqlite3 with electron on Mac OS

I am trying to include the sqlite3 package into my electron project. I I get this error:
have done postinstall. It runs correctly on nodejs.
node_modules/sqlite3/lib/binding/electron-v4.0-darwin-x64/node_sqlite3.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 64. This version of Node.js requires
NODE_MODULE_VERSION 69. Please try re-compiling or re-installing
the module (for instance, using npm rebuild or npm install).
I have the same issue with using sqlite on my developing app, The problem comes from Electron that's change the NODE_MODULE_VERSION to 69 refer to githup issue page to find more info https://github.com/electron/electron/pull/16687
I don't find a really working way to solve the problem for now just downgrade the electron and sqlite version to an older version should solve the problem and build the native module.

Raspberry PI3 - Node version

My very first Raspberry and I want to install the Smart-mirror. When running npm start, it launch the home screen, but also coming with this error:
Error: The module '/home/pi/smart- mirror/node_modules/grpc/node/extension_binary/grpc_node.node' was compiled against a different Node.js version using NODE_MODULE_VERSION 48. This version of Node.js requires NODE_MODULE_VERSION 51. Please try re-compiling or re-installing the module (for instance, using 'npm rebuild' or 'npm install')
I tried both, but ending up with the same error.
How do I fix it?

Resources