问题
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:
├── chai@2.2.0
├── express@4.12.3
├── express3-handlebars@0.5.2
├── mocha@2.2.4
└── zombie@4.0.7
Also, I'm running on Node 0.10.
How can I fix this issue?
Thanks!
回答1:
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.
来源:https://stackoverflow.com/questions/29662551/installing-zombie-js-error-referenceerror-set-is-not-defined-what-am-i-doing