From Fedora Project Wiki

Revision as of 11:52, 22 July 2013 by Patches (talk | contribs) (Installing Node.js Libraries and Programs: add note about `npm link` and $NODE_PATH)

NodeJS logo darkbg.png

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.

npm is the package manager for the Node JavaScript platform. The npm registry contains over 20,000 libraries and programs available under free and open source licenses, many of which are also now available in Fedora.

Why Node.js?

Check out this Node.js guide, or let Node.js creator Ryan Dahl explain it to you in this video.

Just want the "Hello, world!"? Here you go.

Why Fedora?

We can explain it to you in 4 Fs.

Installing Node.js and npm

Fedora 18 and later

Look for the nodejs and npm packages in your favorite graphical package manager, or run this:

sudo yum install nodejs npm

Can't wait for the latest and greatest version of node? Grab it from updates-testing.

RHEL 6 and friends

Node.js and npm are currently available from the [EPEL|Fedora Extra Packages for Enterprise Linux (EPEL)]] testing repository. If you haven't already done so, enable EPEL, then run this as root:

yum --enablerepo=epel-testing install nodejs npm

Installing Node.js Libraries and Programs

There are a bunch of cool Node.js libraries and programs already available in Fedora. Check out Node.js packager Jamie Nguyen's recent blog post listing some of these awesome packages. If that's not enough, the npm registry contains over 20,000 libraries and programs, all available under free and open source licenses.

Installing npm packages via yum

Know the npm package name and want to install it with yum? Just do this:

sudo yum install 'npm(package-name)'

For instance, to install express, a popular web application framework, run:

sudo yum install 'npm(express)'

Using modules installed via yum

Just use npm link. For instance:

npm link express

Please note that you cannot just require() modules without explicitly linking them, and this is by design. For more information, see [I installed something globally, but I can't require() it in the npm FAQ].

If you really want this behavior, you can set $NODE_PATH as follows:

export NODE_PATH=/usr/lib/node_modules


Got a question about Node.js that's specific to Fedora? Ask us on our mailing list or head on over to Ask Fedora.

Node.js also has a fantastic community that's there to help.

Join Us!

Your favorite Node.js module isn't packaged for Fedora yet? You can fix that!

Already a Fedora contributor? Learn everything you need to know about packaging Node programs.

Who are we? Learn more about the Fedora Node.js Special Interest Group.