2015-12-04 28 views
10

aşağıdaki hatayı alıyorum Elastik Beanstalk için NodeJS dağıtırken:NPM hatası

{ 
    "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" 
    } 
} 

Hatalar EB konsolunda atılmış

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:

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. 

İşte .extextensions/config.config Çalışıyorum:

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 

Hata, node-gyp veya sse4_crc32'den geliyor gibi görünüyor.

Bunu aşmak için bir .ebextensions dosyasında kullanmam gereken bazı yapılandırmalar var mı lütfen?

Teşekkürler

cevap

10

Çözüldü.

EB yapılandırma dosyası düzeltildi. buna Yolum NPM görev başlangıç ​​dizini iş yapmak gibiydi

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 

.ebextensions/config.config oldu.

Beni de tutan bir anahtar da - Mac GUI'de projenin sıkıştırılması gizli dosyaları sıkıştırmayacaktır. Komut satırında bunu şu şekilde kullanarak üstesinden gelinebilir:

zip -r archive_name.zip * .* 
+0

Üzgünüm, dışa aktarma HOME kodunda bir fark göremiyorum. Daha önce olduğu gibi samiydi. Bir şey mi eksik? Aynı sorunu yaşıyorum ve bu çözümün günümü kurtarıp kurtarmayacağını merak ediyorum. –

+0

Sorun, inanıyorum dosyanın yolu ile oldu .. 'ihracat ev 'şeyler değil –