1) Create new EC2 t2.micro
2) Update nvm and npm, as suggested here https://forum.serverless.com/t/array-buffer-allocation-failed/3583
3) npm install -g serverless (without errors)
4) serverless create -u https://github.com/adieuadieu/serverless-chrome/tree/master/examples/serverless-framework/aws
and here it stops. The log is
Serverless Error ---------------------------------------
RangeError: Array buffer allocation failed
Stack Trace --------------------------------------------
ServerlessError: RangeError: Array buffer allocation failed
at download.downloadTemplateFromRepo.then.catch.err (/home/ec2-user/.nvm/versions/node/v6.14.3/lib/node_modules/serverless/lib/plugins/create/create.js:125:17)
at process._tickDomainCallback (internal/process/next_tick.js:135:7)
From previous event:
at Object.create:create [as hook] (/home/ec2-user/.nvm/versions/node/v6.14.3/lib/node_modules/serverless/lib/plugins/create/create.js:96:10)
at BbPromise.reduce (/home/ec2-user/.nvm/versions/node/v6.14.3/lib/node_modules/serverless/lib/classes/PluginManager.js:390:55)
From previous event:
at PluginManager.invoke (/home/ec2-user/.nvm/versions/node/v6.14.3/lib/node_modules/serverless/lib/classes/PluginManager.js:390:22)
at PluginManager.run (/home/ec2-user/.nvm/versions/node/v6.14.3/lib/node_modules/serverless/lib/classes/PluginManager.js:421:17)
at variables.populateService.then.then (/home/ec2-user/.nvm/versions/node/v6.14.3/lib/node_modules/serverless/lib/Serverless.js:157:33)
at runCallback (timers.js:672:20)
at tryOnImmediate (timers.js:645:5)
at processImmediate [as _immediateCallback] (timers.js:617:5)
From previous event:
at Serverless.run (/home/ec2-user/.nvm/versions/node/v6.14.3/lib/node_modules/serverless/lib/Serverless.js:144:8)
at serverless.init.then (/home/ec2-user/.nvm/versions/node/v6.14.3/lib/node_modules/serverless/bin/serverless:43:50)
at /home/ec2-user/.nvm/versions/node/v6.14.3/lib/node_modules/serverless/node_modules/graceful-fs/graceful-fs.js:99:16
at /home/ec2-user/.nvm/versions/node/v6.14.3/lib/node_modules/serverless/node_modules/graceful-fs/graceful-fs.js:43:10
at FSReqWrap.oncomplete (fs.js:123:15)
From previous event:
at initializeErrorReporter.then (/home/ec2-user/.nvm/versions/node/v6.14.3/lib/node_modules/serverless/bin/serverless:43:28)
at runCallback (timers.js:672:20)
at tryOnImmediate (timers.js:645:5)
at processImmediate [as _immediateCallback] (timers.js:617:5)
From previous event:
at __dirname (/home/ec2-user/.nvm/versions/node/v6.14.3/lib/node_modules/serverless/bin/serverless:29:46)
at Object.
at Module._compile (module.js:577:32)
at Object.Module._extensions..js (module.js:586:10)
at Module.load (module.js:494:32)
at tryModuleLoad (module.js:453:12)
at Function.Module._load (module.js:445:3)
at Module.runMain (module.js:611:10)
at run (bootstrap_node.js:394:7)
at startup (bootstrap_node.js:160:9)
at bootstrap_node.js:507:3
Get Support --------------------------------------------
Docs: docs.serverless.com
Bugs: github.com/serverless/serverless/issues
Issues: forum.serverless.com
Your Environment Information -----------------------------
OS: linux
Node Version: 6.14.3
Serverless Version: 1.29.2
nvm and npm updates were made because of initial search in serverless repository. The problem here was in size limitation, but it seems I have around 400 Mbytes free.
Have you tried upgrading your version of nodejs to v8.10+ ?
First try - it freezes, I will try again tomorrow.
Second try
ec2-user:/environment/.c9 $ node --version
v8.11.3
ec2-user:/environment/.c9 $ serverless create -u https://github.com/adieuadieu/serverless-chrome/tree/master/examples/serverless-framework/aws
Serverless: Generating boilerplate...
Serverless: Downloading and installing "aws"...
and nothing
@uzhas-sovka Instead of using serverless create -u, try cloning this repository instead and navigating into the examples/serverless-framework/aws directory in your cloned repo and continuing from there.
I cloned repo, navigated to /aws and updated node.
Now using node v8.11.3 (npm v5.6.0)
ec2-user:~/environment/serverless-chrome/aws (master) $ npm run deploy
npm ERR! missing script: deploy
It seems I have missed one step between cloning and deployment.
Hi @uzhas-sovka, make sure to navigate to the ~/environment/serverless-chrome/examples/serverless-framework/aws folder. In your console output it looks like you've gone into the ~/environment/serverless-chrome/aws folder, which is not the correct folder for the example.
Once in the example folder, make sure to run npm install first before npm run deploy. Also, before trying to deploy, make sure that you've configured your AWS credentials if necessary.
Yes, the path was wrong.
New error - serverless-plugin-chrome is missing, so I ran
npm install --save-dev serverless-plugin-chrome
and it's OK.
npm install gives error
npm ERR! enoent ENOENT: no such file or directory, open '/home/ec2-user/environment/package.json'
Ran npm init, the problem gone.
serverless-webpack has to be added, then npm install
For now, the shortest sequence is:
1) Create new Cloud9 IDE
2) nvm install 8.11.3
3) clone repo
4) npm install
5) Set credentials
6) npm run deploy
WARNING in ./node_modules/ws/lib/BufferUtil.js
Module not found: Error: Can't resolve 'bufferutil' in '/home/ec2-user/environment/serverless-chrome/examples/serverless-framework/aws/node_modules/ws/lib'
@ ./node_modules/ws/lib/BufferUtil.js 35:21-42
@ ./node_modules/ws/lib/Sender.js
@ ./node_modules/ws/index.js
@ ./node_modules/chrome-remote-interface/lib/chrome.js
@ ./node_modules/chrome-remote-interface/index.js
@ ./.build/src/handlers/bq7iy3xjsmwjcibuuxjvpldi___requestLogger.js
@ ./.build/src/handlers/requestLogger.js
WARNING in ./node_modules/@serverless-chrome/lambda/dist/bundle.es.js
Module not found: Error: Can't resolve 'chrome-launcher' in '/home/ec2-user/environment/serverless-chrome/examples/serverless-framework/aws/node_modules/@serverless-chrome/lambda/dist'
@ ./node_modules/@serverless-chrome/lambda/dist/bundle.es.js 331:52-78
@ ./.build/src/handlers/version.js
WARNING in ./node_modules/ws/lib/Validation.js
Module not found: Error: Can't resolve 'utf-8-validate' in '/home/ec2-user/environment/serverless-chrome/examples/serverless-framework/aws/node_modules/ws/lib'
@ ./node_modules/ws/lib/Validation.js 10:22-47
@ ./node_modules/ws/lib/Receiver.js
@ ./node_modules/ws/index.js
@ ./node_modules/chrome-remote-interface/lib/chrome.js
@ ./node_modules/chrome-remote-interface/index.js
@ ./.build/src/handlers/bq7iy3xjsmwjcibuuxjvpldi___requestLogger.js
@ ./.build/src/handlers/requestLogger.js
Error --------------------------------------------------
ENOENT: no such file or directory, lstat '/home/ec2-user/environment/serverless-chrome/examples/serverless-framework/aws/.build/node_modules/@serverless-chrome/lambda/dist/headless-chromium'
headless-chromium is in fact absent
It's strange: npm install does not install chrome binary into ec2-user:~/environment/serverless-chrome/examples/serverless-framework/aws/node_modules/@serverless-chrome/lambda/dist,
when running in AWS, but installs it when running locally.
I added hardware switches to my Linux and Windows drives, so there is no need to use Cloud9 any longer. While this is obviously not the solution to problem itself, I think the issue may be closed.