plasma-umass / browsix

Browsix is a Unix-like operating system for the browser.
Other
3.15k stars 181 forks source link

Browsix requires node 6, but README says node 4.3 #72

Open aseering opened 4 years ago

aseering commented 4 years ago

If I install node 4.3.0 as recommended, I get the following error:

/Users/aseering/browsix/node_modules/tslint/node_modules/@babel/code-frame/lib/index.js:39
  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.<anonymous> (/Users/aseering/browsix/node_modules/tslint/lib/formatters/codeFrameFormatter.js:20:20)
    at Module._compile (module.js:410:26)
    at Object.Module._extensions..js (module.js:417:10)
make: *** [test-once] Error 1

According to this StackOverflow post, this syntax isn't correctly supported by node 4.3; it requires a newer version.

If I install node 12, I get a different error:

fs.js:34
} = primordials;
    ^

ReferenceError: primordials is not defined
    at fs.js:34:5
    at req_ (/Users/aseering/browsix/node_modules/natives/index.js:143:24)
    at Object.req [as require] (/Users/aseering/browsix/node_modules/natives/index.js:55:10)
    at Object.<anonymous> (/Users/aseering/browsix/node_modules/vinyl-fs/node_modules/graceful-fs/fs.js:1:37)
    at Module._compile (internal/modules/cjs/loader.js:1139:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1159:10)
    at Module.load (internal/modules/cjs/loader.js:988:32)
    at Function.Module._load (internal/modules/cjs/loader.js:896:14)
    at Module.require (internal/modules/cjs/loader.js:1028:19)
    at require (internal/modules/cjs/helpers.js:72:18)

According to this StackOverflow post, this is a compatibility issue with gulp 3.x and newer versions of node. I tried bumping to gulp 4.0.2, but that broke some other bits of code; I didn't dig in further.

node 6.17.1 (the latest in the node 6.x line), however, seems to work just fine.