Setting up Node.js and npm on Mac OSX
Node.js is gaining a lot of speed and is an exciting new development framework. Here's a quick overview of how to get Node.js working on OSX along with npm, the package manager for node.
Update: There are now packages available for OSX and Windows if you prefer a one click install for Node.js and NPM. To install from source you probably know what you are doing but this article might help.
Install Homebrew ¶
Homebrew is the package manager that Apple forgot. Written in Ruby it allows you to quickly and easily compile software on your Mac. Instructions for installing Homebrew are in the README so I won’t repeat them here. You will need to install Developer Tools for Mac which you are installed as part of Xcode. Xcode is available for free - it is a pretty hefty download but you’ll need it.
Install Node.js via homebrew ¶
Once Homebrew is installed you can go ahead and install Node.js
brew install node
Easy! Now create a file called server.js and paste in the example server code
var http = require("http");
http
.createServer(function (req, res) {
res.writeHead(200, { "Content-Type": "text/plain" });
res.end("Hello World\n");
})
.listen(8124, "127.0.0.1");
console.log("Server running at http://127.0.0.1:8124/");
Save the file and from the console run
node server.js
Now you can visit http://127.0.0.1:8124/ with your favourite browser and you are up and running with server side JavaScript.
At this point it is probably a good idea to consult the excellent Node.js documentation. This will help you understand what Node.js is and what it can do.
Installing npm ¶
npm is Node’s package manager. It is now installed automatically with Node.js so there is no need to do a separate installation.
If you are developing anything in Node.js there is a good chance there is already a library to help you. It might be a module to connect to MySQL, a templating library or a utility library.
You can search for modules like this
npm search [searchterm]
So to search for underscore do this
npm search underscore
There is also a website for npm where you can search for packages.
Installing modules ¶
Now we are set up we can install Node modules using npm. Express is a good place to start - it is a Node framework inspired by Sinatra.
npm install express
This provides a solid base to start developing with Node.js including jade the haml inspired Node tempting engine. There is more excellent documentation available for express too.
That’s it - go create!
Tags
Can you help make this article better? You can edit it here and send me a pull request.
See Also
-
Experimenting with CSS3 and HTML5
I've been creating more and more code examples and increasingly using GitHub for sharing code. I wanted to experiment with a few things so I created a site on GitHub pages. -
Populating forms with YQL, jQuery and Microformats
YQL recently began supporting Microformats. This is great because we can do useful things easily like populate form data without even refreshing the page. -
Using Flickr to help users with Intellectual Disabilities
I'm currently taking part in a study at the University of East London looking at making the web more accessible to users with Intellectual Disabilities. Along with Lisa Haskel I'm looking at ways to use image library APIs to help improve accessibility for ID users.