We have a nodejs application where I work which all of a sudden had problems getting provisioned using Amazon's ElasticBeanstalk. Certainly something must have changed and after digging a bit we linked the problem to a node-gyp issue that doesn't appear to be slated for a fix.
/opt/elasticbeanstalk/hooks/appdeploy/pre/50npm.sh file on a Beanstalked instance shows that this file is now radically different than the example scripts presented when the workaround was first introduced. Our Beanstalk environment executes a python script which has
DEFAULT_HOME='/tmp' set, which may be a problem many people experience deploying to EB going forward.
The fix was to create a file in the root of our nodejs application named
.ebextensions/0001-home.config with the following contents:
container_commands: 01-set-home-dir: command: "export HOME=/tmp"
Specifically our problem was installing the memcached module which depended on the hashring module.