Today I finally got to run
serverless dash deploy myself (not that I was that eager to deploy) (and yes, I know this is a pretty outdated version as dash deploy doesn’t even exist anymore, we’ll have to update it some time – hopefully sooner than later). And as everyone else in the company uses Mac OS, I had to face my own issues on Windows.
Error #1: “Cant find AWS credentials”
Even though I did run aws configure to fill in my aws_access_key_id and my aws_secret_access_key, serverless (0.5.5, by the way) was’t able to use them. I did check the
%UserProfile%/.aws/credential file, they were their indeed. I even added
aws_live_profile = default, as was suggested somewhere, it didn’t help.
It turned out that in Serverless version <1, those aws_access_key_id and aws_secret_access_key need to be added as environment variables (if you don’t know how to do that, or even if you do, I suggest you have a look at Rapid Environment Editor, which is freeware). That did the trick indeed.
Oh, and here is the Github ticket that says this was fixed in Serverless 1.
Error #2: “Error: EMFILE: too many open files”
After fixing the credential bullshit, I got that one. That was quite frustrating because all the “solutions” I found were directed towards MacOS or Linux, and were based on running some kind of
ulimit -n 10480 command, which doesn’t exist one Windows and seemed to be able to cause some trouble anyway.
After trying turning it off and on again, I thought: let’s try another obvious thing: update Node.js. I was running a fairly recently updated Node.js 6.7.0, new version was 6.8.1, and… it worked!
So yeah, basically: just update Node.js and hopefully you should be good. Even with a pretty outdated Windows (running Win 7 with many, many missing updates here)