From Fedora Project Wiki

Revision as of 15:08, 4 September 2015 by Fusion809 (talk | contribs) (→‎Installing Node.js and npm: Adding a section on Fedora 22.)

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 - 21

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.

Fedora 22 and newer

One can use a graphical package manager and search for nodejs or run:

sudo dnf install nodejs

RHEL 6 and friends

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

yum 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

Help!

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.