Problem statement: V3 rest-api services in errored state after restart of services or linux patching
as shown in the below message as shown below
Error messages in the /opt/infoworks/logs/rest/error-1.log is similar to the messages shown below:
Error: The module '/opt/infoworks/platform/rest-api-service/node_modules/bcrypt/lib/binding/bcrypt_lib.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 79. 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`).
Root cause: This means that there is a conflict in the node version in ${IW_HOME}/platform/rest-api-service/package.json and the node version installed, by default, with the infoworks product.
The default version can be found by running the below commands on the edge node.
source /opt/infoworks/bin/env.sh
node -v
Solution:
1. Change Directory to ${IW_HOME}/platform/rest-api-service.
2. Open the package.json file and remove the “node” line in the “dependencies” key (see below)
"node": "^12.13.0"
3. Back up and delete the package-lock.json file
4. Back up and delete the node_modules folder
5. Run the command
npm install
6. Run the command
npm start
Applicable Infoworks versions:
v4.2.x