Search code examples
node.jsinstallationmocha.jschaizombie.js

Installing Zombie.js Error: ReferenceError: Set is not defined. What am I doing wrong?


Background: I'm currently reading "Web Development with Node and Express" by Ethan Brown (great book by the way for those learning node and express) and I got stuck on Chapter 5 - Quality Insurance.

Everything was running smooth. First I ran the following:

npm install --save-dev mocha

npm install -g mocha

npm install --save-dev chai

npm install --save-dev zombie

Problem: Then I ran (as the book instructed):

mocha -u tdd -R spec qa/tests-crosspage.js 2>/dev/null

But this wasn't doing anything. So then I ran:

mocha -u tdd -R spec qa/tests-crosspage.js

And then this error appeared:

/Users/esanz91/Desktop/CodingNotes/Node/MySite/node_modules/zombie/node_modules/jsdom/lib/jsdom/level2/html.js:405 var nonInheritedTags = new Set([

ReferenceError: Set is not defined

Versions: Just to give you guys an idea, I have the following versions installed.

cmd:

npm list --depth=0

results:

├── [email protected]

├── [email protected]

├── [email protected]

├── [email protected]

└── [email protected]

Also, I'm running on Node 0.10.

How can I fix this issue?

Thanks!


Solution

  • I found the answer to my own question. I actually needed to downgrade Zombie 4.0.7 to 3.1.x so that the mocha test command could work with Node 0.10.

    Edit1: I decided to upgrade my Node version to 0.12 and my Zombie version back up to 4.0.7 and that worked too. (seems like Node 0.10 and Zombie 4.0.7 not compatible...)

    Edit2: For anyone reading the book, I suggest looking at the github repo by the author himself. Take a look at the package.json file to see which version of the modules he uses.