1

I'm trying to deploy a Node.js app to Elastic Beanstalk. The app is locally working properly. However, when I try to deploy, I get the error:

Failed to run npm install. Snapshot logs for more details. 

Here is a screenshot of the EB log for more detail: enter image description here

Error Log (I found it interesting that I got permission denied - what could that mean?):

/var/log/eb-activity.log ------------------------------------- npm ERR! path /tmp/.npm/node-linux-x64 npm ERR! code EACCES npm ERR! errno -13 npm ERR! syscall mkdir npm ERR! Error: EACCES: permission denied, mkdir '/tmp/.npm/node-linux-x64' npm ERR! at Error (native) npm ERR! { Error: EACCES: permission denied, mkdir '/tmp/.npm/node-linux-x64' npm ERR! at Error (native) npm ERR! errno: -13, npm ERR! code: 'EACCES', npm ERR! syscall: 'mkdir', npm ERR! path: '/tmp/.npm/node-linux-x64', npm ERR! parent: 'node' } npm ERR! npm ERR! Please try running this command again as root/Administrator. npm ERR! Linux 4.9.58-18.55.amzn1.x86_64 npm ERR! argv "/opt/elasticbeanstalk/node-install/node-v6.11.5-linux-x64/bin/node" "/opt/elasticbeanstalk/node-install/node-v6.11.5-linux-x64/bin/npm" "install" "--no-save" "[email protected]" npm ERR! node v6.11.5 npm ERR! npm v3.10.10 npm ERR! path npm-debug.log.487421323 npm ERR! code EACCES npm ERR! errno -13 npm ERR! syscall open npm ERR! Error: EACCES: permission denied, open 'npm-debug.log.487421323' npm ERR! at Error (native) npm ERR! { Error: EACCES: permission denied, open 'npm-debug.log.487421323' npm ERR! at Error (native) npm ERR! errno: -13, npm ERR! code: 'EACCES', npm ERR! syscall: 'open', npm ERR! path: 'npm-debug.log.487421323' } npm ERR! npm ERR! Please try running this command again as root/Administrator. npm ERR! Please include the following file with any support request: npm ERR! /tmp/deployment/application/node_modules/node/npm-debug.log module.js:471 throw err; ^ Error: Cannot find module 'node-linux-x64/package.json' at Function.Module._resolveFilename (module.js:469:15) at Function.resolve (internal/module.js:27:19) at ChildProcess.<anonymous> (/tmp/deployment/application/node_modules/node-bin-setup/index.js:18:27) at emitTwo (events.js:106:13) at ChildProcess.emit (events.js:191:7) at maybeClose (internal/child_process.js:920:16) at Process.ChildProcess._handle.onexit (internal/child_process.js:230:5) npm ERR! Linux 4.9.58-18.55.amzn1.x86_64 npm ERR! argv "/opt/elasticbeanstalk/node-install/node-v6.11.5-linux-x64/bin/node" "/opt/elasticbeanstalk/node-install/node-v6.11.5-linux-x64/bin/npm" "--production" "rebuild" npm ERR! node v6.11.5 npm ERR! npm v3.10.10 npm ERR! code ELIFECYCLE npm ERR! [email protected] preinstall: `node installArchSpecificPackage` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the [email protected] preinstall script 'node installArchSpecificPackage'. npm ERR! Make sure you have the latest version of node.js and npm installed. npm ERR! If you do, this is most likely a problem with the node package, npm ERR! not with npm itself. npm ERR! Tell the author that this fails on your system: npm ERR! node installArchSpecificPackage npm ERR! You can get information on how to open an issue for this project with: npm ERR! npm bugs node npm ERR! Or if that isn't available, you can get their info via: npm ERR! npm owner ls node npm ERR! There is likely additional logging output above. 

Package.json:

{ "name": "MyProject", "version": "0.0.1", "private": true, "dependencies": { "body-parser": "latest", "express": "latest", "node": "latest", "nodemailer": "latest" }, "scripts": { "start": "node app.js" } } 

Why does this happen?

EDIT: Added package.json and error log as requested.

4
  • 2
    So what do the log files say? Commented Nov 25, 2017 at 23:21
  • Please post your package.json, at least the scripts section Commented Nov 26, 2017 at 0:44
  • 1
    Edited my post with both log and package.json Commented Nov 26, 2017 at 0:53
  • Anyone know what's wrong? Commented Nov 26, 2017 at 17:22

1 Answer 1

1

With no information to go off, here are some guesses:

  • You are manually zipping and uploading your app. Use the CLI tools, for some reason eb deploy always goes smoother
  • You are on a very tiny instance and you need to upgrade to one with enough memory to handle your dependencies

If these don't help, please post your package.json. Or, just use Up, it's so much easier than Beanstalk.

Sign up to request clarification or add additional context in comments.

3 Comments

What are these CLI tools you are talking about? I only saw options for manually uploading apps in the EB deployment process.
Here is a tutorial using the EB CLI with Node docs.aws.amazon.com/elasticbeanstalk/latest/dg/…
I tried using CLI, and it still doesn't appear to work. I think the issue is primarily in the EACCS permission denial.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.