We try to keep our books accurate, but sometimes mistakes creep in. This page lists the errors submitted by our astute readers. If you've found a new error, please submit it.

The latest version of the book is P1.0, released 8 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.

Key: Typo Tech. Error Suggestion Not a problem Next edition

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

(To find out what version you have, look at the copyright page, a few pages in from the front of the book. If it says (say) 'Second Printing', then here it'll be P2.0. If there are interim PDF releases in that printing, they'll be 2.1, 2.2, and so on.)

PDF Paper Description Found in Fixed in
5

#58787: I try with a linux distro and there is no 'close' event sent. 'exit' event works--David

P1.0
02-Jan-14
15
#76474: The code as shown shouldn't work; the variable "output" has the wrong scope. The quick fix is to change the comma on the proceeding line to a...more...
P1.0
04-Mar-14
15
#76475: The number of fields produces by the ls command depend on the locale (if POSIX ls is used). The file's name may be the 8th, 9th, or another f...more...
P1.0
04-Mar-14
15

#76476: My bad, please ignore #76474; I had the blocks not nested when I looked. I looked again; should have done that before posting.
--Wayne Pollock

P1.0
04-Mar-14
16
#53188: Strings and regexes in the code samples are italicized. Unfortunately, italicizing a backslash makes it look a lot like a pipe symbol. I sugge...more...
P1.0
20-Nov-13
18
#53313: Shebangs with more than one argument don't work as expected on Linux, so the example doesn't work directly on all "Unix-like systems". A note ...more...
P1.0
08-Dec-13
25
#53257: On the code example, the Date.now() method is used, which returns the number of seconds since 1 January 1970 00:00:00 UTC. However, on the des...more...
P1.0
01-Dec-13
25
#76815: Not really an error, but be mindful of any other services you have listening on this port. Postgres.app uses 5432 as well. Node doesn't throw ...more...
P1.0
24-May-14
25
#76858: In the code for the net-watcher.js file in the "watcher setup" section the code reads: 'let watcher = fs.watch(filename, function(){ con...more...
P1.0
13-Jun-14
25
#76729: On page 27 we read that the expected output of the net-watcher.js script described on pages 25 and 26 is: File 'target.txt' changed: Sa...more...
P1.0
27-Apr-14
26

#76446: Postgres often runs on port 5432. This can cause confusion when using telnet. Perhaps use another high port like 8124 from the node docs.--Mark

P1.0
22-Feb-14
28
#53277: I'm a windows user, so instead of using telnet, I use netcat. and instead of using the windows command prompt, I use git bash since it provid...more...
P1.0
04-Dec-13
30
#76859: When changing the code to the call of "connection.write" as suggested on page 30, the same error occurs when using the Date.now() object as wa...more...
P1.0
13-Jun-14
40
#53270: (I'm looking at the ePub version, not the PDF.) In the code for the watcher-spawn-parse.js, as rendered in my ePub, I do not see the forwar...more...
P1.0
03-Dec-13
45
#53253: You are using publisher.bind when binding to the port. I had an issue where I had a typo that caused the server to exit and I could no longer ...more...
P1.0
30-Nov-13
49

#53278: getting errors when trying to execute the ldj.js file, had to convert all let to var.

P1.0
04-Dec-13
57
#76573: Maybe you should handle errors when binding router and dealer? I've had a permission error when trying to bind the ipc endpoint. It took me...more...
P1.0
28-Mar-14
57
#53297: Based on book example received: TypeError: Array.prototype.slice called on null or undefined made following change to receive expected out...more...
P1.0
06-Dec-13
58
#76572: The last command on the page is missing the target file. Currently, it is printed as: "node --harmony zmq-filer-req-loop.js" To make it ...more...
P1.0
28-Mar-14
72
#76602: On line 10 of rdf-parser.js, the code should be passing a second argument of { xmlMode: true } to cheerio.load(). Versions 0.13 and newer o...more...
P1.0
02-Apr-14
72
#76396: In order to get the subjects out of The Art of War, I had to change the value of subjects to the following: $('pgterms\\:ebook dcterms\\:subj...more...
P1.0
10-Feb-14
72
#76443: With the latest version of Cheerio the authors and subjects return a Cheerio array, not a plain array. It will not compare properly to the tes...more...
P1.0
21-Feb-14
72

#58781: The example code on page 72 breaks when using Cheerio 0.13.0 (latest). Cheerio 0.12.4 seems to work.--Aaron Breckenridge

P1.0
01-Jan-14
75
#76796: I was unable to run the 'node --harmony $(which nodeunit) test/' command successfully on Windows 7. I ended up editing the %userprofile%\AppDa...more...
P1.0
15-May-14
79
#53279: After running "node --harmony import-books.js" the text suggests that there will be an ECONNRESET error. On my circa-2012 MacBook Pro, it ran ...more...
P1.0
04-Dec-13
84
#53280: "If this is your first time running this program, there won’t be a _desing/books document yet and the request will return a 404 Not Found stat...more...
P1.0
04-Dec-13
89
#53285: You should clarify that the reader should run "npm install" with no arguments to install dependencies declared in package.json. Previously in ...more...
P1.0
05-Dec-13
89
#76911: Error: Most middleware (like logger) is no longer bundled with Express and must be installed separately. I got this error with the newer ver...more...
P1.0
27-Jun-14
92
#53284: When I run "nodemon --harmony server.js" on the downloaded source code, I get the following error: /Users/bcbrown/node/ntrw/web-services/b4...more...
P1.0
05-Dec-13
92
#53286: Using the downloaded code and a straight install of CouchDB (which has worked on all examples heretofore), I cannot get any of the search API ...more...
P1.0
05-Dec-13
92
#53314: The "module.exports = function" pattern appeared before, at page 72 (on the PDF). Maybe the explanation of what it is should be moved to its f...more...
P1.0
08-Dec-13
98pp
#77044: Instead of " ... as a successful resolution of the promise and calls the second then's handler function..." it should read: " ... as a success...more...
P1.0
24-Jul-14
119
#53198: Line 20 reads: Array.prototype.slice.call(null, arguments); should read: Array.prototype.slice.call(arguments); This same error is i...more...
P1.0
22-Nov-13
222

#53223: The many calls to yield in the file bundle.js need to be changed to Fiber.yield()--Mike Ratliff

P1.0
27-Nov-13