RanvierMUD / ranviermud

A node.js based MUD game engine
https://ranviermud.com
MIT License
796 stars 247 forks source link

Some more useful error message when using backlevel nodejs #309

Closed montsamu closed 6 years ago

montsamu commented 6 years ago

Description

Ranviermud requires a more up to date node.js than apt-get installs on a typical ubuntu 16.04 LTS:

ubuntu@ip-172-31-23-236:~/ranviermud$ node -v v4.2.6 ubuntu@ip-172-31-23-236:~/ranviermud$ npm -v 3.5.2

This results in an ugly error:

ubuntu@ip-172-31-23-236:~/ranviermud$ ./ranvier /home/ubuntu/ranviermud/src/Account.js:129 const { ^

SyntaxError: Unexpected token { at exports.runInThisContext (vm.js:53:16) at Module._compile (module.js:374:25) at Object.Module._extensions..js (module.js:417:10) at Module.load (module.js:344:32) at Function.Module._load (module.js:301:12) at Module.require (module.js:354:17) at require (internal/module.js:12:17) at Object. (/home/ubuntu/ranviermud/src/AccountManager.js:4:17) at Module._compile (module.js:410:26) at Object.Module._extensions..js (module.js:417:10)

Instead of somewhere along the line seeing more clearly that, hey, idiot, no really when the requirement says "Node.js >= v7.1.0" it wasn't kidding.

Expected outcome

Actual outcome

Steps to reproduce

Version of Ranvier

seanohue commented 6 years ago

A possible solution is to add the engines property in package.json

EDIT: Tested it, and while this is a good idea anyway, it won't provide better error messaging.