Node 6 is becoming LTS in 2 weeks and there are serious issues with support for it from operational perspective. It’s basically almost useless to try and use this module with Node 6 on anything except locally for quick development or in a completely isolated containerized scenarios. It seems with Node 6, it doesn’t download prebuilt statically linked native dependencies for Node SDK (unlike what it seems to do with Node 4). This causes a lot of issues for builds and deployments… especially on CentOS both 6.5 and 7.x. Firstly we need have appropriate gcc / g++ dependencies, and there seems to be compatibility issues with different versions of compilers and different versions of couchbase module (and I am sure it’s also connected and complicated with node-gyp + nan). Then additionally when you get it built, then you either have to do “npm rebuild” on target deployment environment which means now you need all of the same tools and dependencies on the target deployment environment as well. Or your target deployment environment has to IDENTICALLY match the build environment otherwise you get binary incompatibilities at runtime because your app archive wasn’t built + compiled on that environment.
It is not unusually to need to have build tools available on your target deployment system whenever native Node.js modules are at play. We have provided prebuilt libraries for many of the most common platforms as a convenience to developers, and it’s totally possible to use prebuild to generate the same prebuilds we do, and them use those to do the install. I will also be looking into added the new V8 API version to our prebuild list which should make this more automatic in the future.