Node.js 0.10.x has finally hit Fedora 18

A few months ago, Node.js was accepted as a Fedora 19 feature.

Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.


Major kudos to T.C. Hollingsworth (aka patches) and Stephen Gallagher (aka sgallagh) who have been the driving force behind bringing Node.js to Fedora! Tom Hughes (aka tomh) and I (aka jamielinux) have also tagged along for the ride.

You can now find nodejs and the npm package manager available in a Fedora 18 mirror near you:

yum install nodejs npm

Everything is very fresh out of the kitchen, so please do file bug reports if anything isn't working quite as expected. Bear in mind that some module authors haven't fully tested their code on 0.10.x so there may be some unexpected behaviour.

Where would the fun be without some software to play with? We should have a load more packages available once Fedora 19 hits, but luckily there are already lots of useful Node.js packages to install. I've been working on packaging buddycloud for Fedora. This is not quite done yet and I'm taking a brief hiatus to focus on my academic exams, but I've now packaged many of the dependencies:

  • Quickly build a web application using the connect middleware framework and very popular express application framework:
    yum install nodejs-connect nodejs-express
  • Use the jade template engine:
    yum install nodejs-jade
  • Easily build a command-line interface using either commander or cli:
    yum install nodejs-commander
    yum install nodejs-cli
  • Parse XML efficiently with either Isaac Schlueter's sax or libxmljs:
    yum install nodejs-sax
    yum install nodejs-libxmljs
  • Parse markdown with showdown, markdown, or the blazingly fast marked:
    yum install nodejs-showdown
    yum install nodejs-markdown
    yum install marked
  • Quickly generate annotated documentation for your project with docco:
    yum install docco
  • Easily build a thorough test suite using jasmine-node, expresso, or the very popular mocha test framework which The H recently wrote about:
    yum install jasmine-node
    yum install expresso
    yum install mocha

Most Node.js package names have the nodejs-foo format, but some have the prefix removed. This is usually because they install files into /usr/bin or are applicable outside of the Node.js framework, although it's very possible I've made some inconsistent naming decisions. You can use the name of the module as listed on the npm registry to find out if it has been packaged for Fedora and also what the package name is:

# yum provides "npm(mocha)"
mocha-1.8.2-3.fc18.noarch : A simple, flexible, fun test framework for Node.js
Repo        : updates
Matched from:
Provides    : npm(mocha) = 1.8.2

Update #1: You can also use this format to install packages, such as yum install "npm(express)".


Cicku | Apr 09, 2013

Thanks for the hard work!

Jamie Nguyen | Apr 09, 2013

No problem :)

T.C. Hollingsworth | Apr 10, 2013

yum install also knows about the virtual Provides, so you can just install the npm express package like this:

yum install 'npm(express)'
Jamie Nguyen | Apr 10, 2013

@T.C.: Yes indeed, I've added that to the article. Thanks!

Zoltanh721 | Apr 11, 2013

I would like to see an cloud related spin, where only these js scripts are included to the plugin system in Gnome 3.

Comments are now closed.