Adam.V
Adam.V

Reputation: 789

AWS EB deployment issue

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.

Upvotes: 1

Views: 995

Answers (1)

Sam H.
Sam H.

Reputation: 4359

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.

Upvotes: 1

Related Questions