{"id":8,"date":"2014-02-16T02:46:21","date_gmt":"2014-02-15T18:46:21","guid":{"rendered":"http:\/\/vinta.ws\/code\/?p=8"},"modified":"2026-03-02T13:47:39","modified_gmt":"2026-03-02T05:47:39","slug":"install-node-js-via-nvm","status":"publish","type":"post","link":"https:\/\/vinta.ws\/code\/install-node-js-via-nvm.html","title":{"rendered":"nvm: Node.js Version Manager"},"content":{"rendered":"<p>A simple Node.js version manager.<\/p>\n<h2>Install nvm<\/h2>\n<pre class=\"line-numbers\"><code class=\"language-bash\">curl -o- https:\/\/raw.githubusercontent.com\/nvm-sh\/nvm\/v0.40.3\/install.sh | bash<\/code><\/pre>\n<p>ref:<br \/>\n<a href=\"https:\/\/nodejs.org\/en\/download\/current\">https:\/\/nodejs.org\/en\/download\/current<\/a><br \/>\n<a href=\"https:\/\/github.com\/nvm-sh\/nvm\">https:\/\/github.com\/nvm-sh\/nvm<\/a><\/p>\n<h2>Install Node.js<\/h2>\n<p>You could also simply run <code>brew install node<\/code> if you don't really care about what version you're installing.<\/p>\n<pre class=\"line-numbers\"><code class=\"language-bash\"># list available Node.js versions\nnvm ls-remote\n\n# list installed Node.js versions\nnvm ls\n\n# install the latest LTS version\nnvm install --lts\n\nnvm install v22.15.0 &amp;&amp; \\\nnvm use v22.15.0 &amp;&amp; \\\nnvm alias default v22.15.0\n\nnpm i -g npm@11.3.0\nnpm i -g yarn@1.22.19\n\nnvm uninstall v16.13.2<\/code><\/pre>\n<p>ref:<br \/>\n<a href=\"https:\/\/nodejs.org\/en\/\">https:\/\/nodejs.org\/en\/<\/a><\/p>\n<h2>Install Node.js Packages<\/h2>\n<pre class=\"line-numbers\"><code class=\"language-bash\"># install the package globally\nnpm install -g pangu\n\n# install the package in the current folder\n# which generate <code>package.json<\/code> in the same folder\nnpm install pangu<\/code><\/pre>\n<h2>Override Dependency Version<\/h2>\n<p>Use <code>overrides<\/code> in <code>package.json<\/code>:<\/p>\n<pre class=\"line-numbers\"><code class=\"language-bash\">{\n  \"overrides\": {\n    \"foo\": {\n      \".\": \"1.0.0\",\n      \"bar\": \"1.0.0\"\n    }\n  }\n}<\/code><\/pre>\n<p>ref:<br \/>\n<a href=\"https:\/\/docs.npmjs.com\/cli\/v8\/configuring-npm\/package-json#overrides\">https:\/\/docs.npmjs.com\/cli\/v8\/configuring-npm\/package-json#overrides<\/a><\/p>\n<h2>Pin Package Versions<\/h2>\n<pre class=\"line-numbers\"><code class=\"language-bash\">npm install -g npm-check-updates\n\nnpm-check-updates -u --removeRange<\/code><\/pre>\n<p>ref:<br \/>\n<a href=\"https:\/\/github.com\/raineorshine\/npm-check-updates\">https:\/\/github.com\/raineorshine\/npm-check-updates<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Node Version Manager - a simple bash script to manage multiple active node.js versions.<\/p>\n","protected":false},"author":1,"featured_media":676,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,116],"tags":[51,11,12],"class_list":["post-8","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-about-javascript","category-about-web-development","tag-env","tag-javascript","tag-node-js"],"_links":{"self":[{"href":"https:\/\/vinta.ws\/code\/wp-json\/wp\/v2\/posts\/8","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vinta.ws\/code\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vinta.ws\/code\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vinta.ws\/code\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vinta.ws\/code\/wp-json\/wp\/v2\/comments?post=8"}],"version-history":[{"count":0,"href":"https:\/\/vinta.ws\/code\/wp-json\/wp\/v2\/posts\/8\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vinta.ws\/code\/wp-json\/wp\/v2\/media\/676"}],"wp:attachment":[{"href":"https:\/\/vinta.ws\/code\/wp-json\/wp\/v2\/media?parent=8"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vinta.ws\/code\/wp-json\/wp\/v2\/categories?post=8"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vinta.ws\/code\/wp-json\/wp\/v2\/tags?post=8"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}