I'm getting the following error:
5065 verbose linkBins [email protected]
5066 verbose linkMans [email protected]
5067 verbose rebuildBundles [email protected]
5068 verbose rebuildBundles [ 'bindings', 'nan' ]
5069 info install [email protected]
5070 verbose unsafe-perm in lifecycle false
5071 info [email protected] Failed to exec install script
5072 verbose stack Error: [email protected] install: `node-gyp rebuild`
5072 verbose stack Exit status 1
5072 verbose stack at EventEmitter.<anonymous> (/opt/elasticbeanstalk/node-install/node-v4.2.1-linux-x64/lib/node_modules/npm/lib/utils/lifecycle.js:214:16)
5072 verbose stack at emitTwo (events.js:87:13)
5072 verbose stack at EventEmitter.emit (events.js:172:7)
5072 verbose stack at ChildProcess.<anonymous> (/opt/elasticbeanstalk/node-install/node-v4.2.1-linux-x64/lib/node_modules/npm/lib/utils/spawn.js:24:14)
5072 verbose stack at emitTwo (events.js:87:13)
5072 verbose stack at ChildProcess.emit (events.js:172:7)
5072 verbose stack at maybeClose (internal/child_process.js:818:16)
5072 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)
5073 verbose pkgid [email protected]
5074 verbose cwd /tmp/deployment/application
5075 error Linux 4.1.10-17.31.amzn1.x86_64
5076 error argv "/opt/elasticbeanstalk/node-install/node-v4.2.1-linux-x64/bin/node" "/opt/elasticbeanstalk/node-install/node-v4.2.1-linux-x64/bin/npm" "--production" "rebuild"
5077 error node v4.2.1
5078 error npm v2.14.7
5079 error code ELIFECYCLE
5080 error [email protected] install: `node-gyp rebuild`
5080 error Exit status 1
5081 error Failed at the [email protected] install script 'node-gyp rebuild'.
5081 error This is most likely a problem with the sse4_crc32 package,
5081 error not with npm itself.
5081 error Tell the author that this fails on your system:
5081 error node-gyp rebuild
5081 error You can get their info via:
5081 error npm owner ls sse4_crc32
5081 error There is likely additional logging output above.
5082 verbose exit [ 1, true ]
package.json
{
"name": "application-name",
"version": "0.0.1",
"private": true,
"scripts": {
"test": "mocha"
},
"dependencies": {
"async": "^0.8.0",
"aws-sdk": "^2.2.21",
"bcrypt-nodejs": "0.0.3",
"body-parser": "^1.0.2",
"config": "^1.16.0",
"cors": "^2.7.1",
"crypto": "0.0.3",
"crypto-js": "^3.1.5",
"debug": "^0.7.4",
"express": "^4.0.0",
"express-jwt": "^0.4.0",
"express-validator": "^2.3.0",
"fs": "0.0.2",
"jade": "^1.3.1",
"jsonwebtoken": "^5.0.0",
"mongoose": "^4.0.0",
"morgan": "^1.0.1",
"multer": "^1.1.0",
"nodemailer": "^1.8.0",
"os-shim": "^0.1.3",
"prompt": "^0.2.14",
"request": "^2.67.0",
"validator": "^3.22.1"
},
"devDependencies": {
"chai": "^1.9.1",
"chance": "^0.5.9",
"mocha": "^1.18.2",
"node-inspector": "^0.12.3",
"supertest": "^0.13.0"
}
}
Errors thrown in EB console:
2015-12-05 08:44:49 UTC+0700 ERROR During an aborted deployment, some instances may have deployed the new application version. To ensure all instances are running the same version, re-deploy the appropriate application version.
2015-12-05 08:44:49 UTC+0700 ERROR Failed to deploy application.
2015-12-05 08:44:49 UTC+0700 ERROR Unsuccessful command execution on instance id(s) 'i-65c4d5dc'. Aborting the operation.
2015-12-05 08:44:49 UTC+0700 INFO Command execution completed on all instances. Summary: [Successful: 0, Failed: 1].
2015-12-05 08:44:49 UTC+0700 ERROR [Instance: i-65c4d5dc] Command failed on instance. Return code: 1 Output: (TRUNCATED)..."/opt/elasticbeanstalk/containerfiles/ebnode.py", line 166, in npm_install raise e subprocess.CalledProcessError: Command '['/opt/elasticbeanstalk/node-install/node-v4.2.1-linux-x64/bin/npm', '--production', 'rebuild']' returned non-zero exit status 1. Hook /opt/elasticbeanstalk/hooks/appdeploy/pre/50npm.sh failed. For more detail, check /var/log/eb-activity.log using console or EB CLI.
Here's the .ebextensions/config.config I'm trying:
packages:
yum:
gcc: []
make: []
openssl-devel: []
libxml2: []
libxml2-devel: []
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 # ADDED EXPORT COMMAND
echo "export home" # JUST FOR REMARK
OUT=$(/opt/elasticbeanstalk/containerfiles/ebnode.py --action npm- install 2>&1) || error_exit "Failed to run npm install. $OUT" $?
echo $OUT
It looks like the error is coming from node-gyp or sse4_crc32.
Is there some config I should be using in an .ebextensions file to overcome this please?
Thanks
json file is present, Elastic Beanstalk runs npm install to install dependencies. It also uses the start command to start your application. For more information about the package. json file, see the package.
Elastic Beanstalk provides platforms for programming languages (Go, Java, Node. js, PHP, Python, Ruby), application servers (Tomcat, Passenger, Puma), and Docker containers.
Solved.
The EB config file fixed it. My path to it was .ebextensions/config.config
packages:
yum:
gcc: []
make: []
openssl-devel: []
libxml2: []
libxml2-devel: []
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 # ADDED EXPORT COMMAND
echo "export home" # JUST FOR REMARK
OUT=$(/opt/elasticbeanstalk/containerfiles/ebnode.py --action npm- install 2>&1) || error_exit "Failed to run npm install. $OUT" $?
echo $OUT
The home directory in the NPM task seemed to do the job.
Something key that held me back also - zipping the project in the Mac GUI will not zip hidden files. This can be overcome by doing it in the command line using:
zip -r archive_name.zip * .*
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With