将NodeJS部署到Elastic Beanstalk时出现NPM错误

菲尔·哈德森

我收到以下错误:

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

EB控制台中引发的错误:

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.

这是我正在尝试的.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

看来错误来自node-gyp或sse4_crc32。

我应该在.ebextensions文件中使用一些配置来克服这个问题吗?

谢谢

菲尔·哈德森

解决了。

EB配置文件对其进行了修复。我的路径是.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

NPM任务中的主目录似乎可以完成这项工作。

某些东西也使我退缩-在Mac GUI中压缩项目不会压缩隐藏文件。通过在命令行中使用以下命令可以解决此问题:

zip -r archive_name.zip * .*

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将 Flask 应用程序部署到 AWS beanstalk 时出现错误 [Errno 2]

来自分类Dev

仅将指定的文件部署到AWS Elastic Beanstalk

来自分类Dev

将多个平台部署到Elastic Beanstalk(PHP / Python)

来自分类Dev

将git标签部署到Amazon Elastic Beanstalk

来自分类Dev

自动将GitHub分支部署到AWS Elastic Beanstalk

来自分类Dev

将Perl Docker容器部署到Elastic Beanstalk

来自分类Dev

将PHP应用程序部署到Elastic Beanstalk的问题

来自分类Dev

将 Java 网站部署到 AWS Elastic Beanstalk

来自分类Dev

将简单的Web应用程序部署到Elastic Beanstalk时没有名为“应用程序”的模块错误

来自分类Dev

访问 Elastic Beanstalk 端点时出现 502 代理错误

来自分类Dev

使用不可变部署策略将Django部署到Elastic Beanstalk时没有此类文件或目录

来自分类Dev

将 Laravel 应用程序部署到 AWS Elastic bean 时出现问题

来自分类Dev

部署到 Elastic beanstalk 时,Angular 模块损坏

来自分类Dev

将Django应用部署到IBM Bluemix时出现错误

来自分类Dev

如何从Jenkins将Python应用程序部署到Amazon Elastic Beanstalk?

来自分类Dev

将战争从S3部署到AWS Elastic Beanstalk

来自分类Dev

是否将Go 1.6 Web应用程序部署到AWS Elastic Beanstalk?

来自分类Dev

如何将嵌入式服务器部署到Elastic-Beanstalk?

来自分类Dev

将AWS Elastic Beanstalk部署到不同区域中的环境

来自分类Dev

如何使用nginx + docker将AngularJS应用程序部署到Elastic Beanstalk?

来自分类Dev

AWS CodePipeline将Spring Boot应用程序部署到Elastic BeansTalk

来自分类Dev

将Django部署到Elastic Beanstalk,/ opt / python不存在

来自分类Dev

将Laravel部署到Elastic Beanstalk:“无法打开流:权限被拒绝”

来自分类Dev

将yeoman node.js应用程序部署到Elastic Beanstalk

来自分类Dev

如何将Spring Boot应用程序大战部署到AWS Elastic Beanstalk?

来自分类Dev

通过 JAVA API 将新 war 部署到 AWS Elastic Beanstalk 环境

来自分类Dev

将 Angular 2 应用程序部署到 AWS Elastic Beanstalk

来自分类Dev

使用Elastic Beanstalk在AWS上部署NodeJS API

来自分类Dev

无法使用Git部署到AWS Elastic Beanstalk

Related 相关文章

  1. 1

    将 Flask 应用程序部署到 AWS beanstalk 时出现错误 [Errno 2]

  2. 2

    仅将指定的文件部署到AWS Elastic Beanstalk

  3. 3

    将多个平台部署到Elastic Beanstalk(PHP / Python)

  4. 4

    将git标签部署到Amazon Elastic Beanstalk

  5. 5

    自动将GitHub分支部署到AWS Elastic Beanstalk

  6. 6

    将Perl Docker容器部署到Elastic Beanstalk

  7. 7

    将PHP应用程序部署到Elastic Beanstalk的问题

  8. 8

    将 Java 网站部署到 AWS Elastic Beanstalk

  9. 9

    将简单的Web应用程序部署到Elastic Beanstalk时没有名为“应用程序”的模块错误

  10. 10

    访问 Elastic Beanstalk 端点时出现 502 代理错误

  11. 11

    使用不可变部署策略将Django部署到Elastic Beanstalk时没有此类文件或目录

  12. 12

    将 Laravel 应用程序部署到 AWS Elastic bean 时出现问题

  13. 13

    部署到 Elastic beanstalk 时,Angular 模块损坏

  14. 14

    将Django应用部署到IBM Bluemix时出现错误

  15. 15

    如何从Jenkins将Python应用程序部署到Amazon Elastic Beanstalk?

  16. 16

    将战争从S3部署到AWS Elastic Beanstalk

  17. 17

    是否将Go 1.6 Web应用程序部署到AWS Elastic Beanstalk?

  18. 18

    如何将嵌入式服务器部署到Elastic-Beanstalk?

  19. 19

    将AWS Elastic Beanstalk部署到不同区域中的环境

  20. 20

    如何使用nginx + docker将AngularJS应用程序部署到Elastic Beanstalk?

  21. 21

    AWS CodePipeline将Spring Boot应用程序部署到Elastic BeansTalk

  22. 22

    将Django部署到Elastic Beanstalk,/ opt / python不存在

  23. 23

    将Laravel部署到Elastic Beanstalk:“无法打开流:权限被拒绝”

  24. 24

    将yeoman node.js应用程序部署到Elastic Beanstalk

  25. 25

    如何将Spring Boot应用程序大战部署到AWS Elastic Beanstalk?

  26. 26

    通过 JAVA API 将新 war 部署到 AWS Elastic Beanstalk 环境

  27. 27

    将 Angular 2 应用程序部署到 AWS Elastic Beanstalk

  28. 28

    使用Elastic Beanstalk在AWS上部署NodeJS API

  29. 29

    无法使用Git部署到AWS Elastic Beanstalk

热门标签

归档