Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 为什么AWS Elastic Beanstalk在运行“assets:precompile”时部署失败是因为;“内存不足的进程”;当它在SSH上工作时?_Node.js_Amazon Web Services_Webpack_Amazon Ec2_Amazon Elastic Beanstalk - Fatal编程技术网

Node.js 为什么AWS Elastic Beanstalk在运行“assets:precompile”时部署失败是因为;“内存不足的进程”;当它在SSH上工作时?

Node.js 为什么AWS Elastic Beanstalk在运行“assets:precompile”时部署失败是因为;“内存不足的进程”;当它在SSH上工作时?,node.js,amazon-web-services,webpack,amazon-ec2,amazon-elastic-beanstalk,Node.js,Amazon Web Services,Webpack,Amazon Ec2,Amazon Elastic Beanstalk,希望这里有人能帮我。 我已经在AWS Elastic Beanstalk上部署了一个超级简单的Rails 6应用程序,它带有webpacker。接下来,我在我的.ebextensions/配置文件中添加了一个container_命令: [...] container_commands: 01_precompile: command: bundle exec rake assets:precompile 我想补充一点,只要我添加到我的应用程序中的是Bootstrap 4和字体真棒,这

希望这里有人能帮我。
我已经在AWS Elastic Beanstalk上部署了一个超级简单的Rails 6应用程序,它带有
webpacker
。接下来,我在我的
.ebextensions/
配置文件中添加了一个
container_命令

[...]
container_commands:
  01_precompile:
    command: bundle exec rake assets:precompile
我想补充一点,只要我添加到我的应用程序中的是Bootstrap 4和字体真棒,这在很多部署中都很有效。
然后我将
plotly.js cartesian dist min
添加到我的package.json并重新部署。现在,我的t2.micro-EC2在每次部署时都会爆炸,并在上面的命令中抛出一个错误,看起来很像内存不足:

Application update failed at 2020-09-17T17:22:29Z with exit status 1 and error: container_command 08_precompile in .ebextensions/packages.config failed.
yarn install v1.22.5 [1/4]
Resolving packages... success
Already up-to-date.
Done in 0.98s.
I, [2020-09-17T17:15:46.973099 #7938] INFO -- : Writing /var/app/ondeck/public/assets/manifest-b4bf6e57a53c2bdb55b8998cc94cd00883793c1c37c5e5aea3ef6749b4f6d92b.js
I, [2020-09-17T17:15:46.973347 #7938] INFO -- : Writing /var/app/ondeck/public/assets/manifest-b4bf6e57a53c2bdb55b8998cc94cd00883793c1c37c5e5aea3ef6749b4f6d92b.js.gz
I, [2020-09-17T17:15:46.973491 #7938] INFO -- : Writing /var/app/ondeck/public/assets/application-04024382391bb910584145d8113cf35ef376b55d125bb4516cebeb14ce788597.css
I, [2020-09-17T17:15:46.973578 #7938] INFO -- : Writing /var/app/ondeck/public/assets/application-04024382391bb910584145d8113cf35ef376b55d125bb4516cebeb14ce788597.css.gz
Compiling...
Compilation failed: 
<--- Last few GCs ---> 
[7984:0x3ce65d0] 400787 ms: Scavenge 426.7 (535.4) -> 418.6 (535.4) MB, 12.0 / 0.0 ms allocation failure 
[7984:0x3ce65d0] 400832 ms: Scavenge 437.1 (542.1) -> 428.8 (542.1) MB, 3.7 / 0.0 ms allocation failure 
[7984:0x3ce65d0] 401135 ms: Scavenge 446.3 (551.1) -> 432.3 (551.1) MB, 9.5 / 4.1 ms allocation failure 
[7984:0x3ce65d0] 401267 ms: Scavenge 452.3 (555.5) -> 446.4 (556.0) MB, 22.5 / 1.9 ms allocation failure 
<--- JS stacktrace ---> 
Cannot get stack trace in GC. FATAL ERROR: NewSpace::Rebalance Allocation failed - process out of memory 
1: node::Abort() [node] 
2: 0x8cd49c [node] 
3: v8::Utils::ReportOOMFailure(char const*, bool) [node] 
4: v8::internal::V8::FatalProcessOutOfMemory(char const*, bool) [node] 
5: 0xa6813b [node] 
6: v8::internal::MarkCompactCollector::Evacuate() [node] 
7: v8::internal::MarkCompactCollector::CollectGarbage() [node] 
8: v8::internal::Heap::MarkCompact() [node] 
9: v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) [node] 
10: v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [node] 
11: v8::internal::Factory::NewUninitializedFixedArray(int) [node] 
12: 0xd84573 [node] 
13: v8::internal::Runtime_GrowArrayElements(int, v8::internal::Object**, v8::internal::Isolate*) [node] 
14: 0x3103ac0042fd.
现在,让我烦恼的是:
当我

  • 不使用预编译步骤部署(只是为了上传代码)
  • 然后使用
    eb-SSH
  • 导航到上面的
    container\u命令失败的文件夹(
    cd/var/app/ondeck
  • 获取
    sudo su
    并运行
    bundle exec rake资产:预编译
  • 。。。预混合过程顺利完成

    您能告诉我部署时出现了什么问题,以及我如何确保
    container\u命令
    能够利用它所需的内存量吗?
    顺便说一句,我已经尝试在我的电子商务环境中设置
    NODE\u OPTIONS=“--max old space size=350”
    。在200MB到650MB的范围内,它仍然会崩溃

    {
      "name": "my_app",
      "private": true,
      "dependencies": {
        "@fortawesome/fontawesome-free": "^5.14.0",
        "@rails/actioncable": "^6.0.0",
        "@rails/activestorage": "^6.0.0",
        "@rails/ujs": "^6.0.0",
        "@rails/webpacker": "4.2.2",
        "bootstrap": "^4.5.2",
        "ify-loader": "^1.1.0",
        "jquery": "^3.5.1",
        "plotly.js-cartesian-dist-min": "^1.55.2",
        "popper.js": "^1.16.1",
        "turbolinks": "^5.2.0"
      },
      "version": "0.1.0",
      "devDependencies": {
        "webpack": "^4.44.1",
        "webpack-dev-server": "^3.11.0"
      }
    }