title: Elastic Beanstalk deployment failure, permission denied, mkdir
body: <p>I'm attempting to add the GRPC dependency to a node elastic beanstalk application and all of my deployments are failing. Once I remove the GRPC dependency from my <code>package.json</code> my deployments work. </p>
  
  <p>The error is</p>
  
  <pre><code>ERROR: Failed to run npm install.  
  &gt; grpc@1.10.1 install /tmp/deployment/application/node_modules/grpc
  &gt; node-pre-gyp install --fallback-to-build --library=static_library
  
  node-pre-gyp ERR! Pre-built binaries not installable for grpc@1.10.1 
  and node@8.9.3 (node-v57 ABI, glibc) (falling back to source compile 
  with node-gyp) 
  node-pre-gyp ERR! Hit error EACCES: permission denied, mkdir 
  '/tmp/deployment/application/node_modules/grpc/src/node' 
  gyp ERR! configure error 
  gyp ERR! stack Error: EACCES: permission denied
  </code></pre>
  
  <p>I've had this issue on another node app and was able to resolve it by running <code>npm --save-dev eb-fix-npm</code> but it does not work with this app. I also sometimes get an error along the lines of `cannot create symbolic link, file already exists (paraphrased). </p>
  
  <p>I have this file set up as well to attempt to fix this. </p>
  
  <pre><code> files:
     "/opt/elasticbeanstalk/hooks/appdeploy/pre/50npm.sh" :
       mode: "000775"
       owner: root
       group: root
       content: |
         #!/bin/bash          
         function error_exit
  
         {
           eventHelper.py --msg "$1" --severity ERROR
           exit $2
         }
  
         export HOME=/home/ec2-user
  
         OUT=$(/opt/elasticbeanstalk/containerfiles/ebnode.py --action npm-install 2&gt;&amp;1) || error_exit "Failed to run npm install.  $OUT" $?
         echo $OUT
  </code></pre>
  
  <p>Thanks for the help</p>