Node.js in Debian wheezy
How to set-up node.js in Debian wheezy
See also an updated version, which shows how to install node.js 0.10.1 from experimental repos. (This guide uses Debian unstable, which has currently node.js 0.6.19.)
Installation
Node.js is currently available in Debian unstable (sid) repositories. You can add sid repositories to wheezy without mixing too much packages using apt-pinning.
/etc/apt/preferences.d/999-pinning
# Packages from wheezy get priority 900
Package: *
Pin: release n=wheezy
Pin-Priority: 900
# Well, I have also squeeze repositories enabled, but I prefer wheezy
Package: *
Pin: release n=squeeze
Pin-Priority: 600
# Other packages are installed only when forced (ie. apt-get -t unstable install <package>)
Package: *
Pin: release o=Debian
Pin-Priority: -10
/etc/apt/sources.list
deb http://ftp.fi.debian.org/debian/ wheezy main non-free contrib
#deb-src http://ftp.fi.debian.org/debian/ wheezy main non-free contrib
deb http://security.debian.org/ wheezy/updates main contrib non-free
#deb-src http://security.debian.org/ wheezy/updates main contrib non-free
deb http://ftp.se.debian.org/debian/ sid main non-free contrib
#deb-src http://ftp.fi.debian.org/debian/ sid main non-free contrib
deb http://ftp.fi.debian.org/debian/ squeeze main contrib non-free
#deb-src http://ftp.fi.debian.org/debian/ squeeze main contrib non-free
deb http://security.debian.org/ squeeze/updates main contrib non-free
#deb-src http://security.debian.org/ squeeze/updates main contrib non-free
deb http://ftp.debian.org/debian/ squeeze-updates main contrib non-free
#deb-src http://ftp.debian.org/debian/ squeeze-updates main contrib non-free
Then, complete installation by running apt-get apt-get -t unstable install nodejs npm
Link to /usr/bin/node
Currently nodejs package in Debian sid provides only /usr/bin/nodejs
, and
there exists lots of scripts which depend on /usr/bin/node
, so they break
when using node.js in Debian w/ default installation. Binary naming is caused
by package node (Amateur Packet Radio Node program), which also provides
/usr/bin/node
. Debian package policy forbids conflicting binary naming, so
node.js is renamed.
You can fix this in a Debian way by using update-alternatives
.
update-alternatives --install /usr/bin/node node /usr/bin/nodejs 10
Now node.js binary is linked to /usr/bin/node
.
<3
Feedback / comments?
Either, send e-mail of ping at Mastodon (mastodontti.fi/@ypcs.