Last updated
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.
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.
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.
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.
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!
Have an update or suggestion for this article? You can edit it here and send me a pull request.
Using HashiCorp Vault with LDAP
How to use HashiCorp Vault to setup an LDAP backed secret store with read-only access for users in groups and read-write access for specific users
Linux and Unix xargs command tutorial with examples
Tutorial on using xargs, a UNIX and Linux command for building and executing command lines from standard input. Examples of cutting by character, byte position, cutting based on delimiter and how to modify the output delimiter.
Copy a file in Go
How to copy a file in Go. The ioutil package does not offer a shorthand way of copying a file. Instead the os package should be used.