NPM installation with error installation

When I pass the npm install express command, it throws the following error. By ubuntu machine

 gaurav@gaurav-Mini-Monster:~/TestScripts$ sudo npm install -g express npm ERR! error installing express@3.3.3 Error: Unsupported npm ERR! error installing express@3.3.3 at checkEngine (/usr/local/lib/node_modules/npm/lib/install.js:493:14) npm ERR! error installing express@3.3.3 at Array.0 (/usr/local/lib/node_modules/npm/node_modules/slide/lib/bind-actor.js:15:8) npm ERR! error installing express@3.3.3 at LOOP (/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js:15:13) npm ERR! error installing express@3.3.3 at chain (/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js:20:4) npm ERR! error installing express@3.3.3 at installOne_ (/usr/local/lib/node_modules/npm/lib/install.js:470:3) npm ERR! error installing express@3.3.3 at installOne (/usr/local/lib/node_modules/npm/lib/install.js:411:3) npm ERR! error installing express@3.3.3 at /usr/local/lib/node_modules/npm/lib/install.js:347:9 npm ERR! error installing express@3.3.3 at /usr/local/lib/node_modules/npm/node_modules/slide/lib/async-map.js:54:35 npm ERR! error installing express@3.3.3 at Array.forEach (native) npm ERR! error installing express@3.3.3 at /usr/local/lib/node_modules/npm/node_modules/slide/lib/async-map.js:54:11 npm ERR! error rolling back express@3.3.3 Error: UNKNOWN, Unknown error '/usr/local/lib/node_modules/express' npm ERR! Unsupported npm ERR! Not compatible with your version of node/npm: connect@2.8.3 npm ERR! Required: {"node":">= 0.8.0"} npm ERR! Actual: {"npm":"1.0.106","node":"0.5.11-pre"} npm ERR! npm ERR! System Linux 3.2.0-48-generic-pae npm ERR! command "node" "/usr/local/bin/npm" "install" "-g" "express" npm ERR! cwd /home/gaurav/TestScripts npm ERR! node -v v0.5.11-pre npm ERR! npm -v 1.0.106 npm ERR! code ENOTSUP npm ERR! npm ERR! Additional logging details can be found in: npm ERR! /home/gaurav/TestScripts/npm-debug.log npm not ok 

I also tried

 sudo npm install express npm install -g express sudo npm install -g express 

Nothing works.

+4
npm ubuntu express
Jul 04 '13 at 16:17
source share
2 answers

Node is so easy to install manually. I like to do it like this because it is very easy to switch versions.

This is also great because you do not need to add an external package repository to apt , and you do not need to wait for these repositories to be updated when node releases a new version. You can receive updates as soon as they are released.

 # make a `~/.nodes/ folder mkdir -p ~/.nodes && cd ~/.nodes # download the binaries from nodejs.org # in this case, here the linux version curl -O http://nodejs.org/dist/v0.10.12/node-v0.10.12-linux-x64.tar.gz # extract tar -xzf node-v0.10.12-linux-x64.tar.gz # rename folder to 0.10.12 mv node-v0.10.12-linux-x64 0.10.12 # create a `current` symlink ln -s 0.10.12 current # prepend ~/.nodes/bin to your path # you'll want to save this in ~/.bashrc or ~/.zshrc or something export PATH="~/.nodes/current/bin:$PATH" # cleanup rm ~/.nodes/node-v0.10.12-linux-x64.tar.gz 



The best part of this is that you can repeat the pattern for any other version of node, change the current symbolic link at any time to switch the version you are working on, and you are good to go

 % node --version v0.10.12 % npm --version 1.2.32 # switch versions to (eg) 0.10.5 % cd ~/.nodes && rm current && ln -s 0.10.5 current % node --version v0.10.5 % npm --version 1.2.18 



Additional pointers when writing executable scripts

Make executable file

 % touch ~/somefile && chmod +x ~/someifle && nano ~/somefile 

File contents

 #!/usr/bin/env node console.log(process.version); 

Run it

 % ./somefile v0.10.12 
+16
Jul 04 '13 at 17:52
source share

You are using an too old version of node and npm . You have node v0.5 which is very outdated. Upgrade to node v0.10 and everything will work.

Modern node.js versions for Ubuntu are available through this PPA from Chris Lea

For installation:

 sudo apt-get install python-software-properties sudo add-apt-repository --yes ppa:chris-lea/node.js sudo apt-get install nodejs 

UPDATE

It looks like your old version of node is installed in /usr/local/bin/node . The new version from Chris Lea PPA will be in /usr/bin/node . Therefore, to make sure everything is fine, do:

 /usr/bin/npm --version #Should be approx 1.2 /usr/bin/node --version #should be approx v0.10 /usr/bin/npm install -g express 

You must delete the local node or fix your PATH:

 export PATH=/usr/bin:$PATH 
+10
Jul 04 '13 at 16:26
source share



All Articles