-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
help with 'pkg' moving node app to RHEL7 #1098
Comments
Which error do you have? The one in your point 4 or 6? I haven't had time to use 'pkg'. Make sure you have the same Node version on the machine you create the package as you intend to deploy on. (node-oracledb v4 will be more portable in regard to Node.js versions) |
From https://github.com/zeit/pkg
I just tried pkg and put the created binary in a directory which also had a node_modules/oracledb hierarchy and the app ran OK. When I deleted node_modules then the app failed with NJS-045. I'll let you experiment more. |
4 is my error. 6 came from answering the interview questions. I think 6 is at the heart of the matter. I'm new to your model so I do not know what package adds the dependencies that you pointed out. I'll try push my local build over to the remote machine, but it would be nice to install a RPM. |
You won't be getting both of those errors at a time. So if 4 is your error, then you need to "fix" that. https://github.com/oracle/node-oracledb/blob/master/index.js loads https://github.com/oracle/node-oracledb/blob/master/lib/oracledb.js which loads one of the build/Release/*.node binaries. The specific binaries that were being looked for are shown in the NJS-045 message. You'll need a *.node binary, and some Oracle client libraries. For the latter on RH, I recommend the RPMs from http://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/index.html |
I ran Do you know where the files are installed? I'm hoping the Oracle client libraries are in a standard lib path, but my program still cannot find them. UPDATE
executing my MOVED app, like below, still results in the error in point 4 above. To clarify, I only get the error in point 6 above when executing code in my source code folder which contains package.json and node_modules. I used the Node REPL to do the interview questions from my source code folder. |
(i) The Instant Client RPM installation instructions show that you no longer need to set the library path when you use 19.3 Instant Client, so don't set LD_LIBRARY_PATH (unless you ever end up using an older version of Instant Client. And even then, use (ii) finding Instant Client isn't your distribution problem, as far as I can see. What you have is some limitation of (iii) One other thing to throw in the mix is using RPMs for Node.js and node-oracledb. See http://yum.oracle.com/oracle-linux-nodejs.html Note these currently use 18c Instant Client or older, so you will have to use |
Thanks! So I tested in my local container, copying the files listed here to another spot (/tmp) in my local container,
After experimenting, it turns out only I'll let you know if I have any more problems. I think this issue is done! |
@cyrfer thanks for the useful info. Have you thought about contacting the ABI 57 corresponds to Node.js 8's ABI. With the future node-oracledb 4, the refactor to use N-API will mean one *.node binary will work with Node.js 8 onwards. |
Hello. I have followed your instructions for compiling node-oracledb from source using the following command: |
For general questions:
Describe exactly what you did and what you want to happen.
oracledb
package so I canexport LD_LIBRARY_PATH=/something
pkg .
command.pkg .
command in my local container.For installation issues:
Review the install instructions https://oracle.github.io/node-oracledb/INSTALL.html
Review the troubleshooting tips https://oracle.github.io/node-oracledb/INSTALL.html#troubleshooting
Answer the following questions:
console.log(process.version)
? Is it 64-bit or 32-bit: useconsole.log(process.arch)
?console.log(oracledb.versionString)
?/tmp/nuxeo-data-etl-linux
console.log(process.platform)
?console.log(oracledb.oracleClientVersionString)
? Is it 64-bit or 32-bit? How was it installed? Where is it installed?npm i -S oracledb
console.log(connection.oracleServerVersionString)
?PATH
environment variable (on Windows) orLD_LIBRARY_PATH
(on Linux) set to? On macOS, what is in~/lib
?The text was updated successfully, but these errors were encountered: