Node Package Manager got corrupted in some way, now it cannot be installed












12














I ran into a problem today when I decided to use npm update -g in a nodejs app directory. This was a bad decision, because it caused me to run into a common and disastrous problem with npm.



The solution is to reinstall nodejs and npm. Unfortunately when I go to install npm using sudo apt-get install npm it doesn't work.



The full error in the terminal is here:



Some packages could not be installed. This may mean that you have requested
an impossible situation or if you are using the unstable distribution that
some required packages have not yet been created or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
npm : Depends: nodejs but it is not going to be installed
Depends: node-abbrev (>= 1.0.4) but it is not going to be installed
Depends: node-ansi but it is not going to be installed
Depends: node-archy but it is not going to be installed
Depends: node-block-stream but it is not going to be installed
Depends: node-fstream (>= 0.1.22) but it is not going to be installed
Depends: node-fstream-ignore but it is not going to be installed
Depends: node-github-url-from-git but it is not going to be installed
Depends: node-glob (>= 3.1.21) but it is not going to be installed
Depends: node-graceful-fs (>= 2.0.0) but it is not going to be installed
Depends: node-inherits but it is not going to be installed
Depends: node-ini (>= 1.1.0) but it is not going to be installed
Depends: node-lockfile but it is not going to be installed
Depends: node-lru-cache (>= 2.3.0) but it is not going to be installed
Depends: node-minimatch (>= 0.2.11) but it is not going to be installed
Depends: node-mkdirp (>= 0.3.3) but it is not going to be installed
Depends: node-gyp (>= 0.10.9) but it is not going to be installed
Depends: node-nopt (>= 2.1.1) but it is not going to be installed
Depends: node-npmlog but it is not going to be installed
Depends: node-once but it is not going to be installed
Depends: node-osenv but it is not going to be installed
Depends: node-read but it is not going to be installed
Depends: node-read-package-json (>= 1.1.0) but it is not going to be installed
Depends: node-request (>= 2.25.0) but it is not going to be installed
Depends: node-retry but it is not going to be installed
Depends: node-rimraf (>= 2.2.2) but it is not going to be installed
Depends: node-semver (>= 2.1.0) but it is not going to be installed
Depends: node-sha but it is not going to be installed
Depends: node-slide but it is not going to be installed
Depends: node-tar (>= 0.1.18) but it is not going to be installed
Depends: node-which but it is not going to be installed
E: Unable to correct problems, you have held broken packages.


What can I do to get npm properly installed and running again?



Thanks.










share|improve this question



























    12














    I ran into a problem today when I decided to use npm update -g in a nodejs app directory. This was a bad decision, because it caused me to run into a common and disastrous problem with npm.



    The solution is to reinstall nodejs and npm. Unfortunately when I go to install npm using sudo apt-get install npm it doesn't work.



    The full error in the terminal is here:



    Some packages could not be installed. This may mean that you have requested
    an impossible situation or if you are using the unstable distribution that
    some required packages have not yet been created or been moved out of Incoming.
    The following information may help to resolve the situation:
    The following packages have unmet dependencies:
    npm : Depends: nodejs but it is not going to be installed
    Depends: node-abbrev (>= 1.0.4) but it is not going to be installed
    Depends: node-ansi but it is not going to be installed
    Depends: node-archy but it is not going to be installed
    Depends: node-block-stream but it is not going to be installed
    Depends: node-fstream (>= 0.1.22) but it is not going to be installed
    Depends: node-fstream-ignore but it is not going to be installed
    Depends: node-github-url-from-git but it is not going to be installed
    Depends: node-glob (>= 3.1.21) but it is not going to be installed
    Depends: node-graceful-fs (>= 2.0.0) but it is not going to be installed
    Depends: node-inherits but it is not going to be installed
    Depends: node-ini (>= 1.1.0) but it is not going to be installed
    Depends: node-lockfile but it is not going to be installed
    Depends: node-lru-cache (>= 2.3.0) but it is not going to be installed
    Depends: node-minimatch (>= 0.2.11) but it is not going to be installed
    Depends: node-mkdirp (>= 0.3.3) but it is not going to be installed
    Depends: node-gyp (>= 0.10.9) but it is not going to be installed
    Depends: node-nopt (>= 2.1.1) but it is not going to be installed
    Depends: node-npmlog but it is not going to be installed
    Depends: node-once but it is not going to be installed
    Depends: node-osenv but it is not going to be installed
    Depends: node-read but it is not going to be installed
    Depends: node-read-package-json (>= 1.1.0) but it is not going to be installed
    Depends: node-request (>= 2.25.0) but it is not going to be installed
    Depends: node-retry but it is not going to be installed
    Depends: node-rimraf (>= 2.2.2) but it is not going to be installed
    Depends: node-semver (>= 2.1.0) but it is not going to be installed
    Depends: node-sha but it is not going to be installed
    Depends: node-slide but it is not going to be installed
    Depends: node-tar (>= 0.1.18) but it is not going to be installed
    Depends: node-which but it is not going to be installed
    E: Unable to correct problems, you have held broken packages.


    What can I do to get npm properly installed and running again?



    Thanks.










    share|improve this question

























      12












      12








      12


      5





      I ran into a problem today when I decided to use npm update -g in a nodejs app directory. This was a bad decision, because it caused me to run into a common and disastrous problem with npm.



      The solution is to reinstall nodejs and npm. Unfortunately when I go to install npm using sudo apt-get install npm it doesn't work.



      The full error in the terminal is here:



      Some packages could not be installed. This may mean that you have requested
      an impossible situation or if you are using the unstable distribution that
      some required packages have not yet been created or been moved out of Incoming.
      The following information may help to resolve the situation:
      The following packages have unmet dependencies:
      npm : Depends: nodejs but it is not going to be installed
      Depends: node-abbrev (>= 1.0.4) but it is not going to be installed
      Depends: node-ansi but it is not going to be installed
      Depends: node-archy but it is not going to be installed
      Depends: node-block-stream but it is not going to be installed
      Depends: node-fstream (>= 0.1.22) but it is not going to be installed
      Depends: node-fstream-ignore but it is not going to be installed
      Depends: node-github-url-from-git but it is not going to be installed
      Depends: node-glob (>= 3.1.21) but it is not going to be installed
      Depends: node-graceful-fs (>= 2.0.0) but it is not going to be installed
      Depends: node-inherits but it is not going to be installed
      Depends: node-ini (>= 1.1.0) but it is not going to be installed
      Depends: node-lockfile but it is not going to be installed
      Depends: node-lru-cache (>= 2.3.0) but it is not going to be installed
      Depends: node-minimatch (>= 0.2.11) but it is not going to be installed
      Depends: node-mkdirp (>= 0.3.3) but it is not going to be installed
      Depends: node-gyp (>= 0.10.9) but it is not going to be installed
      Depends: node-nopt (>= 2.1.1) but it is not going to be installed
      Depends: node-npmlog but it is not going to be installed
      Depends: node-once but it is not going to be installed
      Depends: node-osenv but it is not going to be installed
      Depends: node-read but it is not going to be installed
      Depends: node-read-package-json (>= 1.1.0) but it is not going to be installed
      Depends: node-request (>= 2.25.0) but it is not going to be installed
      Depends: node-retry but it is not going to be installed
      Depends: node-rimraf (>= 2.2.2) but it is not going to be installed
      Depends: node-semver (>= 2.1.0) but it is not going to be installed
      Depends: node-sha but it is not going to be installed
      Depends: node-slide but it is not going to be installed
      Depends: node-tar (>= 0.1.18) but it is not going to be installed
      Depends: node-which but it is not going to be installed
      E: Unable to correct problems, you have held broken packages.


      What can I do to get npm properly installed and running again?



      Thanks.










      share|improve this question













      I ran into a problem today when I decided to use npm update -g in a nodejs app directory. This was a bad decision, because it caused me to run into a common and disastrous problem with npm.



      The solution is to reinstall nodejs and npm. Unfortunately when I go to install npm using sudo apt-get install npm it doesn't work.



      The full error in the terminal is here:



      Some packages could not be installed. This may mean that you have requested
      an impossible situation or if you are using the unstable distribution that
      some required packages have not yet been created or been moved out of Incoming.
      The following information may help to resolve the situation:
      The following packages have unmet dependencies:
      npm : Depends: nodejs but it is not going to be installed
      Depends: node-abbrev (>= 1.0.4) but it is not going to be installed
      Depends: node-ansi but it is not going to be installed
      Depends: node-archy but it is not going to be installed
      Depends: node-block-stream but it is not going to be installed
      Depends: node-fstream (>= 0.1.22) but it is not going to be installed
      Depends: node-fstream-ignore but it is not going to be installed
      Depends: node-github-url-from-git but it is not going to be installed
      Depends: node-glob (>= 3.1.21) but it is not going to be installed
      Depends: node-graceful-fs (>= 2.0.0) but it is not going to be installed
      Depends: node-inherits but it is not going to be installed
      Depends: node-ini (>= 1.1.0) but it is not going to be installed
      Depends: node-lockfile but it is not going to be installed
      Depends: node-lru-cache (>= 2.3.0) but it is not going to be installed
      Depends: node-minimatch (>= 0.2.11) but it is not going to be installed
      Depends: node-mkdirp (>= 0.3.3) but it is not going to be installed
      Depends: node-gyp (>= 0.10.9) but it is not going to be installed
      Depends: node-nopt (>= 2.1.1) but it is not going to be installed
      Depends: node-npmlog but it is not going to be installed
      Depends: node-once but it is not going to be installed
      Depends: node-osenv but it is not going to be installed
      Depends: node-read but it is not going to be installed
      Depends: node-read-package-json (>= 1.1.0) but it is not going to be installed
      Depends: node-request (>= 2.25.0) but it is not going to be installed
      Depends: node-retry but it is not going to be installed
      Depends: node-rimraf (>= 2.2.2) but it is not going to be installed
      Depends: node-semver (>= 2.1.0) but it is not going to be installed
      Depends: node-sha but it is not going to be installed
      Depends: node-slide but it is not going to be installed
      Depends: node-tar (>= 0.1.18) but it is not going to be installed
      Depends: node-which but it is not going to be installed
      E: Unable to correct problems, you have held broken packages.


      What can I do to get npm properly installed and running again?



      Thanks.







      apt nodejs npm






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked May 21 '15 at 5:57









      Zach Cook

      163116




      163116






















          1 Answer
          1






          active

          oldest

          votes


















          28














          Update



          Regarding William Entriken's comment below this answer, there is a better way of installing Node.js natively in Ubuntu as a snap package.



          Node.js is available as a snap package in all currently supported versions of Ubuntu. Specific to Node.js, developers can choose from one of the currently supported releases and get regular automatic updates directly from NodeSource. Node.js versions 6, 8, 9, 10, 11 and 12 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 9/stable 


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



          $ node -v  
          v9.9.0


          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=8/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.





          Original answer



          To install the latest LTS versions of Node.js (nodejs) and Package manager for Node.js (npm) in all currently supported versions of Ubuntu, open the terminal and run the following commands:



          sudo apt-get remove nodejs npm ## remove existing nodejs and npm packages
          sudo apt-get install curl
          curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
          sudo apt-get install -y nodejs


          If you are copying these three commands, don't neglect the hyphen at the end of the second command.



          The nodejs package contains the nodejs binary as well as npm, so you don't need to install npm separately. However, in order for some npm packages to work (such as those that require building from source), you will need to install the build-essential package:



          sudo apt-get install build-essential  


          LTS Plan



          New semver-major releases of Node.js are cut from master every six months. New even-numbered versions (e.g. v6, v8, v10, etc.) are cut in April. New odd-numbered versions (e.g. v5, v7, v9) are cut in October.



          When a new odd-numbered major release is cut, the previous even-numbered major version transitions to the Long Term Support plan.



          Every major version covered by the LTS plan will be actively maintained for a period of 18 months from the date it enters LTS coverage. Following those 18 months of active support, the major version will transition into "maintenance" mode for 12 additional months.



          non-LTS installation



          Current to March, 2017 the commands to install the latest non-LTS version of Node.js (v8 at the time this was posted) are as follows:



          sudo apt-get remove nodejs npm ## remove existing nodejs and npm packages
          sudo apt-get install curl
          curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
          sudo apt-get install -y nodejs


          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 No LTS 2019-10-22 2021-04-01 2022-04-01





          share|improve this answer























          • That was brilliant thank you so much.
            – Zach Cook
            May 21 '15 at 6:20










          • Node.js Long Term Support Release Schedule
            – karel
            Dec 22 '16 at 21:54










          • using "sudo apt-get install -y nodejs " worked for me
            – Davinder Kumar
            Aug 1 '17 at 7:46










          • This method requires trusting MANY parties and then giving full access to your computer to deb.nodesource.com, an entity that can't even be bothered to update their website each version to include the content hash for your security. No thanks!
            – William Entriken
            Mar 11 at 15:54










          • @WilliamEntriken Node.js is now a snap package in Ubuntu that does not require running the curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - command. Instead Node.js can be installed as a snap package. I added a new Update section to my answer which contains the instructions for installing the Node.js snap package.
            – karel
            Oct 1 at 17:21











          Your Answer








          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "89"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f626383%2fnode-package-manager-got-corrupted-in-some-way-now-it-cannot-be-installed%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          28














          Update



          Regarding William Entriken's comment below this answer, there is a better way of installing Node.js natively in Ubuntu as a snap package.



          Node.js is available as a snap package in all currently supported versions of Ubuntu. Specific to Node.js, developers can choose from one of the currently supported releases and get regular automatic updates directly from NodeSource. Node.js versions 6, 8, 9, 10, 11 and 12 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 9/stable 


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



          $ node -v  
          v9.9.0


          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=8/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.





          Original answer



          To install the latest LTS versions of Node.js (nodejs) and Package manager for Node.js (npm) in all currently supported versions of Ubuntu, open the terminal and run the following commands:



          sudo apt-get remove nodejs npm ## remove existing nodejs and npm packages
          sudo apt-get install curl
          curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
          sudo apt-get install -y nodejs


          If you are copying these three commands, don't neglect the hyphen at the end of the second command.



          The nodejs package contains the nodejs binary as well as npm, so you don't need to install npm separately. However, in order for some npm packages to work (such as those that require building from source), you will need to install the build-essential package:



          sudo apt-get install build-essential  


          LTS Plan



          New semver-major releases of Node.js are cut from master every six months. New even-numbered versions (e.g. v6, v8, v10, etc.) are cut in April. New odd-numbered versions (e.g. v5, v7, v9) are cut in October.



          When a new odd-numbered major release is cut, the previous even-numbered major version transitions to the Long Term Support plan.



          Every major version covered by the LTS plan will be actively maintained for a period of 18 months from the date it enters LTS coverage. Following those 18 months of active support, the major version will transition into "maintenance" mode for 12 additional months.



          non-LTS installation



          Current to March, 2017 the commands to install the latest non-LTS version of Node.js (v8 at the time this was posted) are as follows:



          sudo apt-get remove nodejs npm ## remove existing nodejs and npm packages
          sudo apt-get install curl
          curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
          sudo apt-get install -y nodejs


          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 No LTS 2019-10-22 2021-04-01 2022-04-01





          share|improve this answer























          • That was brilliant thank you so much.
            – Zach Cook
            May 21 '15 at 6:20










          • Node.js Long Term Support Release Schedule
            – karel
            Dec 22 '16 at 21:54










          • using "sudo apt-get install -y nodejs " worked for me
            – Davinder Kumar
            Aug 1 '17 at 7:46










          • This method requires trusting MANY parties and then giving full access to your computer to deb.nodesource.com, an entity that can't even be bothered to update their website each version to include the content hash for your security. No thanks!
            – William Entriken
            Mar 11 at 15:54










          • @WilliamEntriken Node.js is now a snap package in Ubuntu that does not require running the curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - command. Instead Node.js can be installed as a snap package. I added a new Update section to my answer which contains the instructions for installing the Node.js snap package.
            – karel
            Oct 1 at 17:21
















          28














          Update



          Regarding William Entriken's comment below this answer, there is a better way of installing Node.js natively in Ubuntu as a snap package.



          Node.js is available as a snap package in all currently supported versions of Ubuntu. Specific to Node.js, developers can choose from one of the currently supported releases and get regular automatic updates directly from NodeSource. Node.js versions 6, 8, 9, 10, 11 and 12 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 9/stable 


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



          $ node -v  
          v9.9.0


          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=8/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.





          Original answer



          To install the latest LTS versions of Node.js (nodejs) and Package manager for Node.js (npm) in all currently supported versions of Ubuntu, open the terminal and run the following commands:



          sudo apt-get remove nodejs npm ## remove existing nodejs and npm packages
          sudo apt-get install curl
          curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
          sudo apt-get install -y nodejs


          If you are copying these three commands, don't neglect the hyphen at the end of the second command.



          The nodejs package contains the nodejs binary as well as npm, so you don't need to install npm separately. However, in order for some npm packages to work (such as those that require building from source), you will need to install the build-essential package:



          sudo apt-get install build-essential  


          LTS Plan



          New semver-major releases of Node.js are cut from master every six months. New even-numbered versions (e.g. v6, v8, v10, etc.) are cut in April. New odd-numbered versions (e.g. v5, v7, v9) are cut in October.



          When a new odd-numbered major release is cut, the previous even-numbered major version transitions to the Long Term Support plan.



          Every major version covered by the LTS plan will be actively maintained for a period of 18 months from the date it enters LTS coverage. Following those 18 months of active support, the major version will transition into "maintenance" mode for 12 additional months.



          non-LTS installation



          Current to March, 2017 the commands to install the latest non-LTS version of Node.js (v8 at the time this was posted) are as follows:



          sudo apt-get remove nodejs npm ## remove existing nodejs and npm packages
          sudo apt-get install curl
          curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
          sudo apt-get install -y nodejs


          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 No LTS 2019-10-22 2021-04-01 2022-04-01





          share|improve this answer























          • That was brilliant thank you so much.
            – Zach Cook
            May 21 '15 at 6:20










          • Node.js Long Term Support Release Schedule
            – karel
            Dec 22 '16 at 21:54










          • using "sudo apt-get install -y nodejs " worked for me
            – Davinder Kumar
            Aug 1 '17 at 7:46










          • This method requires trusting MANY parties and then giving full access to your computer to deb.nodesource.com, an entity that can't even be bothered to update their website each version to include the content hash for your security. No thanks!
            – William Entriken
            Mar 11 at 15:54










          • @WilliamEntriken Node.js is now a snap package in Ubuntu that does not require running the curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - command. Instead Node.js can be installed as a snap package. I added a new Update section to my answer which contains the instructions for installing the Node.js snap package.
            – karel
            Oct 1 at 17:21














          28












          28








          28






          Update



          Regarding William Entriken's comment below this answer, there is a better way of installing Node.js natively in Ubuntu as a snap package.



          Node.js is available as a snap package in all currently supported versions of Ubuntu. Specific to Node.js, developers can choose from one of the currently supported releases and get regular automatic updates directly from NodeSource. Node.js versions 6, 8, 9, 10, 11 and 12 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 9/stable 


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



          $ node -v  
          v9.9.0


          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=8/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.





          Original answer



          To install the latest LTS versions of Node.js (nodejs) and Package manager for Node.js (npm) in all currently supported versions of Ubuntu, open the terminal and run the following commands:



          sudo apt-get remove nodejs npm ## remove existing nodejs and npm packages
          sudo apt-get install curl
          curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
          sudo apt-get install -y nodejs


          If you are copying these three commands, don't neglect the hyphen at the end of the second command.



          The nodejs package contains the nodejs binary as well as npm, so you don't need to install npm separately. However, in order for some npm packages to work (such as those that require building from source), you will need to install the build-essential package:



          sudo apt-get install build-essential  


          LTS Plan



          New semver-major releases of Node.js are cut from master every six months. New even-numbered versions (e.g. v6, v8, v10, etc.) are cut in April. New odd-numbered versions (e.g. v5, v7, v9) are cut in October.



          When a new odd-numbered major release is cut, the previous even-numbered major version transitions to the Long Term Support plan.



          Every major version covered by the LTS plan will be actively maintained for a period of 18 months from the date it enters LTS coverage. Following those 18 months of active support, the major version will transition into "maintenance" mode for 12 additional months.



          non-LTS installation



          Current to March, 2017 the commands to install the latest non-LTS version of Node.js (v8 at the time this was posted) are as follows:



          sudo apt-get remove nodejs npm ## remove existing nodejs and npm packages
          sudo apt-get install curl
          curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
          sudo apt-get install -y nodejs


          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 No LTS 2019-10-22 2021-04-01 2022-04-01





          share|improve this answer














          Update



          Regarding William Entriken's comment below this answer, there is a better way of installing Node.js natively in Ubuntu as a snap package.



          Node.js is available as a snap package in all currently supported versions of Ubuntu. Specific to Node.js, developers can choose from one of the currently supported releases and get regular automatic updates directly from NodeSource. Node.js versions 6, 8, 9, 10, 11 and 12 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 9/stable 


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



          $ node -v  
          v9.9.0


          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=8/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.





          Original answer



          To install the latest LTS versions of Node.js (nodejs) and Package manager for Node.js (npm) in all currently supported versions of Ubuntu, open the terminal and run the following commands:



          sudo apt-get remove nodejs npm ## remove existing nodejs and npm packages
          sudo apt-get install curl
          curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
          sudo apt-get install -y nodejs


          If you are copying these three commands, don't neglect the hyphen at the end of the second command.



          The nodejs package contains the nodejs binary as well as npm, so you don't need to install npm separately. However, in order for some npm packages to work (such as those that require building from source), you will need to install the build-essential package:



          sudo apt-get install build-essential  


          LTS Plan



          New semver-major releases of Node.js are cut from master every six months. New even-numbered versions (e.g. v6, v8, v10, etc.) are cut in April. New odd-numbered versions (e.g. v5, v7, v9) are cut in October.



          When a new odd-numbered major release is cut, the previous even-numbered major version transitions to the Long Term Support plan.



          Every major version covered by the LTS plan will be actively maintained for a period of 18 months from the date it enters LTS coverage. Following those 18 months of active support, the major version will transition into "maintenance" mode for 12 additional months.



          non-LTS installation



          Current to March, 2017 the commands to install the latest non-LTS version of Node.js (v8 at the time this was posted) are as follows:



          sudo apt-get remove nodejs npm ## remove existing nodejs and npm packages
          sudo apt-get install curl
          curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
          sudo apt-get install -y nodejs


          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 No LTS 2019-10-22 2021-04-01 2022-04-01






          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited 2 days ago

























          answered May 21 '15 at 6:12









          karel

          57k11127146




          57k11127146












          • That was brilliant thank you so much.
            – Zach Cook
            May 21 '15 at 6:20










          • Node.js Long Term Support Release Schedule
            – karel
            Dec 22 '16 at 21:54










          • using "sudo apt-get install -y nodejs " worked for me
            – Davinder Kumar
            Aug 1 '17 at 7:46










          • This method requires trusting MANY parties and then giving full access to your computer to deb.nodesource.com, an entity that can't even be bothered to update their website each version to include the content hash for your security. No thanks!
            – William Entriken
            Mar 11 at 15:54










          • @WilliamEntriken Node.js is now a snap package in Ubuntu that does not require running the curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - command. Instead Node.js can be installed as a snap package. I added a new Update section to my answer which contains the instructions for installing the Node.js snap package.
            – karel
            Oct 1 at 17:21


















          • That was brilliant thank you so much.
            – Zach Cook
            May 21 '15 at 6:20










          • Node.js Long Term Support Release Schedule
            – karel
            Dec 22 '16 at 21:54










          • using "sudo apt-get install -y nodejs " worked for me
            – Davinder Kumar
            Aug 1 '17 at 7:46










          • This method requires trusting MANY parties and then giving full access to your computer to deb.nodesource.com, an entity that can't even be bothered to update their website each version to include the content hash for your security. No thanks!
            – William Entriken
            Mar 11 at 15:54










          • @WilliamEntriken Node.js is now a snap package in Ubuntu that does not require running the curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - command. Instead Node.js can be installed as a snap package. I added a new Update section to my answer which contains the instructions for installing the Node.js snap package.
            – karel
            Oct 1 at 17:21
















          That was brilliant thank you so much.
          – Zach Cook
          May 21 '15 at 6:20




          That was brilliant thank you so much.
          – Zach Cook
          May 21 '15 at 6:20












          Node.js Long Term Support Release Schedule
          – karel
          Dec 22 '16 at 21:54




          Node.js Long Term Support Release Schedule
          – karel
          Dec 22 '16 at 21:54












          using "sudo apt-get install -y nodejs " worked for me
          – Davinder Kumar
          Aug 1 '17 at 7:46




          using "sudo apt-get install -y nodejs " worked for me
          – Davinder Kumar
          Aug 1 '17 at 7:46












          This method requires trusting MANY parties and then giving full access to your computer to deb.nodesource.com, an entity that can't even be bothered to update their website each version to include the content hash for your security. No thanks!
          – William Entriken
          Mar 11 at 15:54




          This method requires trusting MANY parties and then giving full access to your computer to deb.nodesource.com, an entity that can't even be bothered to update their website each version to include the content hash for your security. No thanks!
          – William Entriken
          Mar 11 at 15:54












          @WilliamEntriken Node.js is now a snap package in Ubuntu that does not require running the curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - command. Instead Node.js can be installed as a snap package. I added a new Update section to my answer which contains the instructions for installing the Node.js snap package.
          – karel
          Oct 1 at 17:21




          @WilliamEntriken Node.js is now a snap package in Ubuntu that does not require running the curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - command. Instead Node.js can be installed as a snap package. I added a new Update section to my answer which contains the instructions for installing the Node.js snap package.
          – karel
          Oct 1 at 17:21


















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Ask Ubuntu!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.





          Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


          Please pay close attention to the following guidance:


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f626383%2fnode-package-manager-got-corrupted-in-some-way-now-it-cannot-be-installed%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Questions related to Moebius Transform of Characteristic Function of the Primes

          List of scandals in India

          Can not write log (Is /dev/pts mounted?) - openpty in Ubuntu-on-Windows?