Install Node.js on Ubuntu


I'm trying install Node.js on Ubuntu 12.10, but the terminal shows me an error about lost packages. I tried with this:

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

But when I came to the last line sudo apt-get install nodejs npm shows this error:

Failed to install some packages. This may mean that
you requested an impossible situation or if you are using the distribution
distribution that some required packages have not yet been created or been
been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
nodejs: Conflicts: npm
E: Failed to correct problems, you have held broken packages.

Then I uninstalled the ppa:chris-lea/node.js and I was trying a second option:

sudo apt-get install node.js
sudo apt-add-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs npm

The same error, the terminal says npm is the latest version but also shows me the text I shown in the top. I think the problem is ppa:chris-lea/node.js but I don't know how solve it.

All Answers
  • Translate

    Simply follow the instructions given here:

    Example install:

    sudo apt-get install python-software-properties python g++ make
    sudo add-apt-repository ppa:chris-lea/node.js
    sudo apt-get update
    sudo apt-get install nodejs

    It installs current stable Node on the current stable Ubuntu. Quantal (12.10) users may need to install the software-properties-common package for the add-apt-repository command to work: sudo apt-get install software-properties-common

    As of Node.js v0.10.0, the nodejs package from Chris Lea's repo includes both npm and nodejs-dev.

    Don't give sudo apt-get install nodejs npm just sudo apt-get install nodejs

  • Translate

    As of today, you can simply install it with:

    sudo apt-get install nodejs

  • Translate

    npm is automatically installed with node.js in the latest version of node. What do you see when you type node --version and npm --version in the terminal?

    You can upgrade npm using npm itself as well

    [sudo] npm install -g npm

  • Translate

    My apt-get was old and busted, so I had to install from source. Here is what worked for me:

    # get the latest version from At the time of this writing, it was 0.10.24
    curl -o ~/node.tar.gz
    tar -zxvf node.tar.gz
    cd node-v0.6.18
    ./configure && make && sudo make install

    These steps were mostly taken from joyent's installation wiki

  • Translate

    This is the best way to easy install NODE.JS. This also is actual for Ubuntu 12.04, 13.04 and 14.04

    Adding node js repositories

    [sudo] apt-get install python-software-properties
    [sudo] apt-add-repository ppa:chris-lea/node.js
    [sudo] apt-get update

    node.js installation

    [sudo] apt-get install nodejs

    Now checking node.js version

    node -v



    This command should install npm.

    npm install

    Check npm version

    npm -v



    If for some reason, if you see npm is not installed, you may try running:

    [sudo] apt-get install npm

    To update npm you may try running:

    [sudo] npm install -g npm

  • Translate

    You can use nvm to install nodejs. It allows you work with different versions without conflicts.

  • Translate
    wget -qO- | bash    
    nvm install v0.10.33

    just use nvm for node version control nvm

  • Translate

    You can also compile it from source like this

    git clone git://
    cd node
    sudo make install

    Find detailed instructions here

  • Translate
    sudo apt-get install g++ curl libssl-dev apache2-utils
    sudo apt-get install git-core
    git clone git://
    cd node
    sudo make install

  • Translate

    Follow the instructions given here at NodeSource which is dedicated to creating a sustainable ecosystem for Node.js

    For Node.js >= 4.X

    # Using Ubuntu
    curl -sL | sudo -E bash -
    sudo apt-get install -y nodejs
    # Using Debian, as root
    curl -sL | bash -
    apt-get install -y nodejs

  • Translate

    Now you can simply Install with:

    sudo apt-get install nodejs
    sudo apt-get install npm

    Make sure you have python and c preinstalled. If not perform:

    sudo apt-get install python g++ make

  • Translate

    I personally do it this way:

    sudo apt-get install python g++ make
    tar xvfvz node-latest.tar.gz
    cd node-v0.12.0
    sudo make install

    If you want to install particular version than download the version you want from nodejs site and execute the last tree steps.
    I would strongly suggest not using the default nodejs package from the distro market because it would be probably outdated. (i.e. the current for the time of writing this in the ubuntu market is v0.10.25 which is too outdated compared to the latest (v0.12.0)).

  • Translate

    Node.js is available as a snap package in all currently supported versions of Ubuntu. Specific to Node.js, developers can choose from one or more of the currently supported releases and get regular automatic updates directly from NodeSource. Node.js versions 6, 8, 9, 10, 11, 12 and 13 are currently available, with the Snap Store being updated within hours or minutes of a Node.js release.

    Node can be installed with a single command, for example:

    sudo snap install node --classic --channel 11/stable 

    The node snap can be accessed by the command node, for example:

    $ node -v  

    An up-to-date version of npm will installed as part of the node snap. npm should be run outside of the node repl, in your normal shell. After installing the node snap run the following command to enable npm update checking:

    sudo chown -R $USER:$(id -gn $USER) /home/your-username/.config

    Replace your-username in the above command with your own username. Then run npm -v to check if the version of npm is up-to-date. As an example I checked that npm was up-to-date, checked the version of an already installed package named yarn with the command npm list yarn and then updated the existing yarn package to the latest version with the command npm update yarn

    Users can switch between versions of Node.js at any time without needing to involve additional tools like nvm (Node Version Manager), for example:

    sudo snap refresh node --channel=11/stable

    Users can test bleeding-edge versions of Node.js that can be installed from the latest edge channel which is currently tracking Node.js version 12 by switching with:

    sudo snap switch node --edge

    This approach is only recommended for those users who are willing to participate in testing and bug reporting upstream.

    Node.js LTS Schedule

    Release LTS Status  Codename    LTS Start       Maintenance Start Maintenance End
    6.x     Active      Boron       2016-10-18      April 2018        April 2019
    7.x     No LTS              
    8.x     Active      Carbon      2017-10-31      April 2019        December 2019
    9.x     No LTS              
    10.x    Active      Dubnium     October 2018    April 2020        April 2021  
    11.x    No LTS                                  2019-04-01        2019-06-30
    12.x                            2019-10-22      2021-04-01        2022-04-01
    13.x    No LTS                                  2020-04-20        2020-06-01

  • Translate

    Here full description to create first program using express generator

    Ubuntu's package manager

    To install Node and npm via apt-get, run these commands:

    sudo apt-get update  
    sudo apt-get install nodejs  
    sudo ln -s /usr/bin/nodejs /usr/bin/node  
    sudo apt-get install npm  

    Express application generator

    $ npm install express-generator -g

    Display the command options with the -h option:

    $ express -h
      Usage: express [options] [dir]
        -h, --help          output usage information
        -V, --version       output the version number
        -e, --ejs           add ejs engine support (defaults to jade)
            --hbs           add handlebars engine support
        -H, --hogan         add hogan.js engine support
        -c, --css <engine>  add stylesheet <engine> support (less|stylus|compass|sass) (defaults to plain css)
            --git           add .gitignore
        -f, --force         force on non-empty directory

    For example, the following creates an Express app named myapp in the current working directory:

    $ express myapp
       create : myapp
       create : myapp/package.json
       create : myapp/app.js
       create : myapp/public
       create : myapp/public/javascripts
       create : myapp/public/images
       create : myapp/routes
       create : myapp/routes/index.js
       create : myapp/routes/users.js
       create : myapp/public/stylesheets
       create : myapp/public/stylesheets/style.css
       create : myapp/views
       create : myapp/views/index.jade
       create : myapp/views/layout.jade
       create : myapp/views/error.jade
       create : myapp/bin
       create : myapp/bin/www

    Then install dependencies:

    $ cd myapp
    $ npm install

    run the app with this command:

    $ DEBUG=myapp:* npm start

    Then load http://localhost:3000/ in your browser to access the app.

    The generated app has the following directory structure:

    ├── app.js
    ├── bin
    │   └── www
    ├── package.json
    ├── public
    │   ├── images
    │   ├── javascripts
    │   └── stylesheets
    │       └── style.css
    ├── routes
    │   ├── index.js
    │   └── users.js
    └── views
        ├── error.jade
        ├── index.jade
        └── layout.jade
    7 directories, 9 files

  • Translate

    Install Node.js on Ubuntu 12.10 or 14.04 LTS or 16.04.1 LTS

    Please avoid to install Node.js with apt-get on Ubuntu. If you already installed Node.js with the built in package manager, please remove that. (sudo apt-get purge nodejs && sudo apt-get autoremove && sudo apt-get autoclean)

    The installation process on Linux is the same as on OSX. With the provided script:

    $ curl -o- | bash
    $ nvm list
    $ nvm ls-remote
    $ nvm install 6.4.0
    $ nvm use 6.4.0
    $ nvm alias default 6.4.0
    $ node -v
    $ npm install -g npm
    $ npm -v

    One more thing! Don’t forget to run the following command, which increases the amount of inotify watches.

    $ echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

    Hope this help you!