small medium large xlarge

The latest version of the book is B4.0, released 2 months ago. If you've bought a PDF of the book and would like to upgrade it to this version (for free), visit your home page.

By default this page displays the errata for the latest version of the book. If you have a previous version, select it here:

If you've found a new error, please submit it.

  • Typo
  • Tech. error
  • Suggestion
  • Maybe next edition
  • Not a problem
  • Reported in: B2.0 (21-Aug-17)
  • Fixed: 11-Oct-17, awaiting book release
#81979
PDF page: 7
Take the concept of a variable. In algebra it’s common to see equations like “ 7x + 3 = 24 .” Here, x is called a variable; it has exactly one value,...more...
  • Reported in: B3.0 (02-Aug-17)
  • Fixed: 11-Oct-17, awaiting book release
#81921
PDF page: 11

On the second line on the PDF page, EventEmitter is hyphenated Even-tEmitter. I think Event-Emitter would be more legible.
--Michael H Lambert

  • Reported in: B3.0 (21-Sep-17)
  • Fixed: 11-Oct-17, awaiting book release
#82091
PDF page: 26
Paper page: 12
Page 26/12 says to create a file called "file-system/watcher.js" after moving into an empty directory (is this empty directory "file-system" or is the...more...
  • Reported in: B1.0 (15-Jun-17)
  • Fixed: 11-Oct-17, awaiting book release
#81687
PDF page: 29
The installation instruction for node v8 didn't work for me. I'm on ubuntu 16.04 (linux mint). I found this page for the solution: (sorry cant post ...more...
Jim R. Wilson says: Are you working from the new Node.js 8 the Right Way book? or is this feedback based on the first edition? The new edition shows you how to install Node.js with nvm.
  • Reported in: B3.0 (21-Sep-17)
  • Fixed: 11-Oct-17, awaiting book release
#82092
PDF page: 29
Paper page: 15

Line: fs.watch(filename, () => console.log(`File ${filename} changed!`));

Has tick marks instead of single quotes.--Jeff Maher

  • Reported in: B3.0 (21-Sep-17)
  • Fixed: 11-Oct-17, awaiting book release
#82093
PDF page: 29
Paper page: 15
(Ooops -- ignore my suggestion for these pages a moment ago, on tick marks. Seems that you can't edit/delete a suggestion after submitting on this pag...more...
  • Reported in: B3.0 (29-Aug-17)
  • Fixed: 11-Oct-17, awaiting book release
#81996
PDF page: 43

On page 43, the test script to run is named "net-watcher-json-test-service.js" but was named "test-json-service.js" on pages 37-38.--Jeff Cousins

  • Reported in: B3.0 (17-Aug-17)
  • Fixed: 11-Oct-17, awaiting book release
#81968
PDF page: 44
npm install --save --save-exact mocha@3.4.2 does not include the --save-dev option that is mentioned 2 par's later, so mocha ends up in std depende...more...
  • Reported in: B3.0 (29-Aug-17)
  • Fixed: 11-Oct-17, awaiting book release
#81997
PDF page: 49
"timeout" is misspelled as "timetout": "To set the Mocha timeout for the whole run, use the --timeout flag to specify the timetout in millisecond...more...
  • Reported in: B3.0 (26-Sep-17)
  • Fixed: 11-Oct-17, awaiting book release
#82106
PDF page: 83
Paper page: 71
In one of the code comments " // Fork three worker processes.", it says "three" when the code actually spins up as many worker processes as "const nu...more...
  • Reported in: B3.0 (04-Aug-17)
  • Fixed: 11-Oct-17, awaiting book release
#81926
PDF page: 94
Paper page: 83

Error: The Art of War by Sunzi

The author's name is Sun Tzu--Steven Mays

Jim R. Wilson says: I've seen it written that way too, you're right that that's the most widely used name in the West. I was going by the name listed on the Project Gutenberg page: http://www.gutenberg.org/ebooks/132 since that would match the catalog data.
  • Reported in: B2.0 (24-Jul-17)
  • Fixed: 11-Oct-17, awaiting book release
#81861
PDF page: 97
Paper page: 86
...create a subdirectory called test... The sub-directory called 'test' for unit testing was already created before chapter "Declaraing (Declaring)...more...
  • Reported in: B2.0 (24-Jul-17)
  • Fixed: 11-Oct-17, awaiting book release
#81862
PDF page: 97
Paper page: 86

"Declaraing with Chai" should be "Declaring with Chai"--robin janse

  • Reported in: B2.0 (24-Jul-17)
  • Fixed: 11-Oct-17, awaiting book release
#81863
PDF page: 103
Paper page: 92
Why not install "cheerio" as a dev dependency? "npm install --save --save-exact cheerio@0.22.0" could be "npm install --save-dev --save-exact che...more...
  • Reported in: B2.0 (24-Jul-17)
  • Fixed: 11-Oct-17, awaiting book release
#81864
PDF page: 103

Please ignore #81863. I mixed up cheerio with chai.
Sorry--robin janse

  • Reported in: B2.0 (25-Jul-17)
  • Fixed: 11-Oct-17, awaiting book release
#81880
PDF page: 112

Obects should be object
The source objects are the book obects returned by parseRDF().--Robin

  • Reported in: B2.0 (25-Jul-17)
  • Fixed: 11-Oct-17, awaiting book release
#81881
PDF page: 113

The last property of object 'options' ends with a comma:
exclude: ['pg0.rdf'],--Robin

Jim R. Wilson says: That was intentional. Trailing commas are allowed in object literals as of EcmaScript 5.
  • Reported in: B2.0 (26-Jul-17)
  • Fixed: 11-Oct-17, awaiting book release
#81882
PDF page: 119
develompent should be development Acquiring, transforming, storing and querying data are crucial skills in modern software develompent with Node.js...more...
  • Reported in: B2.0 (23-Jul-17)
  • Fixed: 11-Oct-17, awaiting book release
#81856
PDF page: 124
As it stands the command '$ ./esclu get' returns nothing as program.json is undefined? The command '$ ./esclu -j get' sets program.json and prints...more...
  • Reported in: B2.0 (23-Jul-17)
  • Fixed: 11-Oct-17, awaiting book release
#81857
PDF page: 124
Nope sorry, my previous submisson about page 124 is NOT an error - my bad. Made a mistake with the code around throwing the error. Apologies.--leonard...more...
  • Reported in: B2.0 (25-Jul-17)
  • Fixed: 11-Oct-17, awaiting book release
#81867
PDF page: 145
In last line of "Deleting an Index" there's a typo in word 'issues': "Hint: The request.del() issuse a DELETE request." should be "Hint: The request....more...
  • Reported in: B3.0 (28-Jul-17)
  • Fixed: 11-Oct-17, awaiting book release
#81893
PDF page: 151
conver should be convert Likewise, if the user provided a filter on the command line with the -f flag, we conver this to a _source parameter for th...more...
  • Reported in: B3.0 (02-Aug-17)
  • Fixed: 11-Oct-17, awaiting book release
#81919
PDF page: 165

es.hostname should be es.host--robin janse

  • Reported in: B3.0 (03-Aug-17)
  • Fixed: 11-Oct-17, awaiting book release
#81924
PDF page: 167
Paper page: 158
url constant variable is not correct. Remove the /book/ part. So, //${es.host}:${es.port}/${es.books_index}/book/_search`; Should be //$...more...
Jim R. Wilson says: I think leaving the /book/ is correct but may not be required? The /book/ part indicates the type of document that we're searching for.
  • Reported in: B3.0 (31-Aug-17)
  • Fixed: 11-Oct-17, awaiting book release
#82007
PDF page: 170
Paper page: 161
exract should be extract Finally, if there were no errors, we exract just the _source objects (the true documents) from the Elasticsearch response,...more...
  • Reported in: B4.0 (15-Nov-17)
#82260
PDF page: 171
It appears that I am having issues with "express": "4.14.1"and the app.post, create bundle example having url parameters. If I change the app.post to ...more...
  • Reported in: B3.0 (12-Aug-17)
  • Fixed: 11-Oct-17, awaiting book release
#81945
PDF page: 219
Second para in "Deleting Bundles" is "To get started, navigate to the listBundles() function and add this block of code inside the try block." but the...more...
  • Reported in: B3.0 (20-Aug-17)
  • Fixed: 11-Oct-17, awaiting book release
#81978
PDF page: 230

At the end of the second last paragraph "... as Sign Out link." should be "... a Sign Out link." --leonard walker

  • Reported in: B3.0 (05-Oct-17)
  • Fixed: 11-Oct-17, awaiting book release
#82121
PDF page: 259
Paper page: 251
user.profile should be user.provider This terse arrow function uses nested destructuring assignment to pull out the user.profile and user.id proper...more...