Mac/Homebrew - changing Node version does not change NPM version - node.js

On my Mac, I'd like to use Homebrew to install an earlier version of Node and NPM - I'm currently running Node/NPM 8.2.1/5.3.0, and I'd like to switch to 6.11.2/3.10.10, as listed in the documentation.
I ran
$ brew install node#6
$ brew unlink node
$ brew link node# --force
and while this appears to change my node version - $ node -v -> 6.11.2 - my version of NPM is still stuck at 5.3.0.
How can I switch NPM to this other version (and switch it back, if need be)?

Try to uninstall all node versions firstly: brew rm node, after that ensure that node -v and npm -v prints command not found.
After that install nvm or n to manage node versions. These version managers have one great advantage, they allow you to have a few node versions and easily switch between them.
nvm - Node Version Manager
n - Node version management
With nvm:
nvm install v6.11.2

Luckily there is a good way to do this if you are someone like myself who finds nvm to be overkill, especially if you only need one version for an app/api support (e.g. johnny-five). Instead of installing a node version manager, you can actually create a 2nd "node" version with another homebrew node.js install.
Start by installing the other version of node that you want to use, for instance node#4, and then unlink that version's symlinks (you can use any brew installed version).
$ brew install node#4 && brew unlink node#4
Once it's installed and unlinked, go to the folder /usr/local/bin, and add a custom symlink for the other version you want access:
$ cd /usr/local/bin
$ ln -s ../Cellar/node\#4/4.8.5/bin/node ./node4
Now you can use the command node for your previous version, and node4 for the node#4 version.
Of course we do not want to mix npm packages with the two versions, so let's fix that by making a new npm directory for the node#4 version:
$ mkdir ~/.npm4
$ npm config set prefix ~/.npm4
Now you are ready to install global packages for the second version! Each time you want to switch versions you can simply swap the prefix, and since we are looking for a simple process this probably won't happen too often.
Of course you may want something that does not require the need to be proactive when switching versions, and while you can always install a separate version of npm somewhere and symlink it the same way you did the node version, that may become confusing over time when it comes to upgrading npm.
A few other options:
script the prefix command
add the prefix command and/or script in package.json
use a specific bash terminal profile that runs the prefix command on start
So there are few various options, but I will leave that all up to you..

Related

Updating to stable version of nodejs with n

this is my first time trying to update the nodejs version of a unix server. I want to use it to create a react app, and facing the following:
>npx create-react-app test
You are running Node 8.11.3.
Create React App requires Node 10 or higher.
Please update your version of Node.
So I have tried to update the version with the following commands:
>sudo npm cache clean -f
>sudo npm install -g n
>sudo n stable
installed : v14.15.4 to /usr/local/bin/node
active : v8.11.3 at /bin/node
However it seems that didn't upgrade the version, it installed a different version in a different path.
I am not sure if it is possible just to upgrade the version that is already active, I prefer not to do a workaround and just upgrade it directly.
As complementary information if I run n doctor I see the following:
>n doctor
Checking n install destination is in PATH...
'/usr/local/bin' is not in PATH
As I said previously, what I am looking for is a safe way to update the version already installed to be able to use create-react-app, being able to rollback to previous version easily if something doesn't work, I understand that the way is using n.
Thanks in advance.
I suggest you add /usr/local/bin to the start of your PATH (so it comes before /bin).
I do not recommend you try and overwrite /bin/node using n. Something else installed /bin/node in a system directory, and overwriting it using n could leave things in a mixed and confused state. n installs to /usr/local by default, but you can set N_PREFIX to install to your home folder, for example.
To avoid confusion with having two versions of node installed, you may wish to uninstall the /bin version, likely installed by your platform package manager.
Tip: Changing where node and npm are installed is likely to change where your global npm packages are installed. I suggest you list what you have installed now in case you want to reinstall then in the "new" location. npm list -g --depth=0

Upgraded node and npm via nvm, but old node is still used for global packages

I've been using node 9.3.0 for a long time, but I recently migrated to 10.12.0. Everything went fine, when I do node -v and npm -v I get the correct versions:
Paul-Bergs-Macbook:node paulrberg$ node -v
v10.12.0
Paul-Bergs-Macbook:node paulrberg$ which node
/Users/paulrberg/.nvm/versions/node/v10.12.0/bin/node
Paul-Bergs-Macbook:node paulrberg$ npm -v
6.4.1
Paul-Bergs-Macbook:node paulrberg$ which npm
/Users/paulrberg/.nvm/versions/node/v10.12.0/bin/npm
Howeven, when I'm trying to run any npm command, the old version is used. That is:
Paul-Bergs-Macbook:node paulrberg$ npm i truffle -g
/Users/paulrberg/.nvm/versions/node/v9.3.0/bin/truffle -> /Users/paulrberg/.nvm/versions/node/v9.3.0/lib/node_modules/truffle/build/cli.bundled.js
+ truffle#4.1.14
added 81 packages from 311 contributors in 1.715s
And:
npm list -g --depth=0
/Users/paulrberg/.nvm/versions/node/v9.3.0/lib
└── truffle#4.1.14
Not sure if this is some bash code still pointing to the last version, but I can't seem to find any proof for that. Running env and checking for 9.3.0 environment variables yields no result.
What I did so far:
Delete node 9.3.0 with nvm uninstall 9.3.0
Do a fresh install of nvm after deleting it and rebooting the computer
nvm reinstall-with-packages
Deleted ~/.nvmrc and set 10.12.0 in there afterwards
Check if I have an overlapping node from homebrew and I don't
What could the problem be?
After a few hours of painful Unix debugging, I realised the problem was that I set a prefix in npm config:
prefix = "/Users/paulrberg/.nvm/versions/node/v9.3.0"
To fix this, make sure to unset the prefix by doing:
npm config rm prefix
This is mentioned, albeit not necessarily shining in the nvm doc
If you have an ~/.npmrc file, make sure it does not contain any prefix
settings (which is not compatible with nvm)
It looks like you might need to run nvm reinstall-packages
https://github.com/creationix/nvm#migrating-global-packages-while-installing
which says
Migrating global packages while installing
If you want to install a new version of Node.js and migrate npm packages from a previous version:
nvm install node --reinstall-packages-from=node
This will first use "nvm version node" to identify the current version you're migrating packages from. Then it resolves the new version to install from the remote server and installs it. Lastly, it runs "nvm reinstall-packages" to reinstall the npm packages from your prior version of Node to the new one.
You can also install and migrate npm packages from specific versions of Node like this:
nvm install 6 --reinstall-packages-from=5
nvm install v4.2 --reinstall-packages-from=iojs
The other "solution" is not to use global packages. Particularly when using nvm and not being able to be sure that the global package is for the "current" version it can be better to install locally and use npx to run the local command
truffle installs a truffle command to ./node_modules/.bin when you npm install it so you can npx truffle to run the local one instead of truffle to run the global one
edit:
another thing to check is that node -v and nvm current don't necessarily report the same version.
I wonder if nvm current would report v9.3 for you?
ah, yep, on my machine I can install truffle globally in a different location than node -v reports
> node -v
v9.5.0
> nvm current
system
> nvm use v8
Now using node v8.4.0 (npm v5.3.0)
> node -v
v8.4.0
> nvm current
v8.4.0
> npm install -g truffle
/Users/pauldambra/.nvm/versions/node/v8.4.0/bin/truffle -> /Users/pauldambra/.nvm/versions/node/v8.4.0/lib/node_modules/truffle/build/cli.bundled.js
+ truffle#4.1.14
added 81 packages in 4.364s
So you might be missing an nvm use v10 command
I think that a more permanent solution is this section from the support docs.
Default global packages from file while installing
If you have a list of default packages you want installed every time you install a new version, we support that too -- just add the package names, one per line, to the file $NVM_DIR/default-packages. You can add anything npm would accept as a package argument on the command line.

Managing global npm packages when using nvm

I feel like I need to be able to install global npm packages separately into the NVM dir.
$ nvm install v0.11
######################################################################## 100.0%
Now using node v0.11.16
$ node-inspector
Node Inspector v0.9.2
Visit http://127.0.0.1:8080/debug?port=5858 to start debugging.
my node-inspector stopped working!
$ npm update -g
<bunch of updating, succeeds>
Maybe this will help... Nope! still broken.
Sigh. Perhaps... node-inspector doesn't work for a v0.11.16 (that's being run on nvm). Perhaps. Who knows. Well, time to abort.
$ nvm use system
Now using system version of node: v0.10.32.
$ node-inspector --version
dyld: lazy symbol binding failed: Symbol not found: _node_module_register
Referenced from: /usr/local/lib/node_modules/node-inspector/node_modules/ws/build/Release/bufferutil.node
Expected in: dynamic lookup
dyld: Symbol not found: _node_module_register
Referenced from: /usr/local/lib/node_modules/node-inspector/node_modules/ws/build/Release/bufferutil.node
Expected in: dynamic lookup
[1] 93845 trace trap node-inspector --version
Okay.... Well.... Shit.
So anyway, at this point I'm not looking for instructions on how to fix. I may well be hosed. The main question here is what am I supposed to do to manage these npm packages which are meant to be command line tools and which have compiled components that appear tied to specific versions? I understand that when I install nvm and incorporate it into my system, my shell is able to switch its $PATH so that when I call node and npm, they will run using the node version I picked.
But it appears as though the global npm packages get put into /usr/local/bin/ somewhere and they're just stuck there and become unable to follow what I do with nvm -- While it may not be the case for the "theoretically well-behaved node package", in practice (for something like node-inspector at least) it sure looks like it's liable to gleefully explode when not executed using the node that installed it.
In the meantime I have to basically npm remove -g <package> && npm install -g <package> any package that I find behaves strangely in this manner, every single time that I want to run that package under a new node version using nvm.
This seems wrong.
Is it wrong?
And, a corollary to this would be that every time I invoke nvm powers to test some given node.js app with a different version of node, I pretty much should do it by cloning it in a whole new directory and starting fresh, because otherwise I'll probably find out that I will need to rm -rf node_modules && npm install just to make it function at all...
UPDATE October 2020:
If you've already installed the desired Node version, according to the documentation this is also available:
nvm reinstall-packages <from-version>
Props to #rashi for pointing out the syntax above.
From the nvm help message:
nvm install [-s] <version> Download and install a <version>, [-s] from source. Uses .nvmrc if available
--reinstall-packages-from=<version> When installing, reinstall packages installed in <node|iojs|node version number>
--lts When installing, only select from LTS (long-term support) versions
--lts=<LTS name> When installing, only select from versions for a specific LTS line
The relevant flag is --reinstall-packages-from=<version>. Simply re-run your command (example):
$ nvm install v6.9.2 --reinstall-packages-from=v4.4.5
I may have misunderstood your situation, but it seems like you need to install all global packages you use separately for each node version you are using. The reason it works like that is that you may need different versions of packages for different node versions. So whenever you use nvm use ... it changes paths to global packages to the packages installed for the selected version of node.
Hope it helps.

How do I update Node.js?

This question's answers are a community effort. Edit existing answers to improve this post. It is not currently accepting new answers or interactions.
I did the following to update my npm:
npm update npm -g
But I have no idea how to update Node.js. Any suggestions? (I'm using Node.js 0.4.1 and want to update to Node.js 0.6.1.)
To upgrade Node you may first want to see which version of Node.js you are currently using:
node --version
Find out which versions of Node.js you may have installed and which one of those you're currently using:
nvm ls
List all versions of Node.js available for installation:
nvm ls-remote
Apparently for Windows the command would be rather like this:
nvm ls available
Assuming you would pick Node.js v8.1.0 for installation you'd type the following to install that version:
nvm install 8.1.0
You are then free to choose between installed versions of Node.js. So if you would need to use an older version like v4.2.0 you would set it as the active version like this:
nvm use 4.2
That should be all.
In 2013 I used the following instructions to upgrade from Node.js version 0.10.6 to 0.10.21 on a Mac, for more recent instructions see above.
Update from 2017: Please mind, Mr. Walsh himself recommended to update Node.js just using nvm instead.
Clear NPM's cache:
sudo npm cache clean -f
Install a little helper called 'n'
sudo npm install -g n
Install latest stable Node.js version
sudo n stable
Alternatively pick a specific version and install like this:
sudo n 0.8.20
For production environments you might want to pay attention to version numbering and be picky about odd/even numbers.
Credits
General procedure: D.Walsh
Stable/unstable versions: P.Teixeira
Use Node Version Manager (NVM)
It's a Bash script that lets you download and manage different versions of node. Full source code is here.
There is a separate project for nvm for Windows: github.com/coreybutler/nvm-windows
Below are the full steps to use NVM for multiple version of node on windows
download nvm-setup.zip extract and install it.
execute command nvm list available from cmd or gitbash or powershell, this will list all available version of node
use command nvm install version e.g. nvm install 12.14.0 to install on the machine
last once installed use nvm use version to use newer version e.g. nvm use 12.14.0
Any OS (including Windows, Mac & Linux)
Updated October 2022
Just go to the official Node.js site (nodejs.org), download and execute the installer program.
It will take care of everything and with a few clicks of 'Next' you'll get the latest Node.js version running on your machine. Since 2020 it's the recommended way to update NodeJS. It's the easiest and least frustrating solution.
Pro tips
NodeJS installation includes NPM (Node package manager).
To check your NPM version use npm version or node --version.
If you prefer CLI, to update NPM use npm install -g npm and then npm install -g node.
For more details, see the docs for install command.
Keep an eye on NodeJS blog - Vulnerabilities so you don't miss important security releases. Keep your NodeJS up-to-date.
Operating systems supported by Node.js:
Windows, Linux, MacOS, IBM AIX.
For Docker users, here's the official Node.js image.
For more information on installing Node.js on a variety of less-common operating systems, see this page (there's even Node for Android!).
Troubleshooting for Windows:
If anyone gets file error 2502/2503 like myself during install, run
the .msi via Administrator command prompt with command msiexec /package [node msi]
If my answer is helpful, don't forget to upvote it
(here is the original answer by Anmol Saraf, upvote it too)
If you have Homebrew installed (only for macOS):
$ brew upgrade node
2021: Just go to nodejs.org and use the latest installer.
That's it folks. It used to be more complex and people used different kinds of packages and strategies to manage it. But things have changed for the better.
Works for all platforms (Windows, Mac & Linux).
First update npm,
npm install -g npm stable
Then update node,
npm install -g node or npm install -g n
check after version installation,
node --version or node -v
On Windows you can use Chocolatey to install and update Node.js (and lots of other packages).
Install Node
cinst nodejs.install
Update Node
cup nodejs.install
Note: You will need to install Chocolatey before you can use cinst and cup.
To upgrade node to the latest version or to a specific version you can do the following:
sudo npm install n -g
sudo n 0.10.18 // This will give you the specific version
For the latest stable version:
sudo n stable
For the latest LTS version(Tested on Mac)
sudo n lts
To control your version of Node.js, you can try n. I found it very straightforward and useful.
n is a Node.js binary management, no subshells, no profile setup, no convoluted API, just simple.
npm install -g n
n 0.6.19 will install Node.js v0.6.19.
Short answer:
Go to this page: Download | Node.js
Download the installer for your platform, then install it.
I had the same problem, when I saw that my Node.js installation is outdated.
These few lines will handle everything (for Ubuntu):
sudo npm cache clean -f
sudo npm install -g n
sudo n stable
After this node -v will return you the latest available version.
On CentOS 7 you can do the following:
sudo npm cache clean -f
sudo npm install -g n
sudo n stable
sudo ln -sf /usr/local/n/versions/node/5.4.1/bin/node /usr/bin/node
node –v (Should show updated version now)
npm rebuild node-sass (Optional: if you use this)
Note: The symlink is required to link your node binary with the latest Node.js installed binary file.
For OS X, I had v5.4.1 and needed the latest version 6 so I went to the Node.js homepage and clicked on one of the links below:
I then followed the installer and then I magically had the latest version of Node.js and npm.
For macOS in 2018+
(as ALL of the solutions above are failing for me):
Simply go to the official nodejs site, download the official nodejs package and install it by double clicking. It's the most simple, safe and always-working thing you can do.
You may use nvm.
Check what is the latest version at http://nodejs.org/ (e.g. v0.10.26)
Run nvm install v0.10.26
Done.
You can choose which version to run:
nvm ls list the available versions and tells you which version you are using now.
nvm use VERSION change the current node to the requested version.
nvm alias default VERSION set the default version. The next time you source nvm.sh, this will be the version loaded (note that it doesn't change the version in use right now, run nvm use for that).
Some Linux distributions such as Arch Linux have Node.js in their package repositories. On such systems it is better to use a standard package update procedure, such as pacman -Suy or analogous apt-get or yum commands.
As of now (Nov 2016) EPEL7 offers a pretty recent version of Node.js (6.9.1 which is an up-to-date LTS version offered on the Node.js home page). So on CentOS 7 and derivatives you can just add EPEL repository by yum install epel-release and yum install nodejs.
CentOS 6/EPEL6 has 0.10.x which isn't supported upstream since Oct 2016.
Today I ran on a Windows Git Bash:
$ npm i node -g
and got the following output:
> node#10.6.0 preinstall C:\Users\X\AppData\Roaming\npm\node_modules\node
> node installArchSpecificPackage
+ node-win-x64#10.6.0
added 1 package and audited 1 package in 23.368s
found 0 vulnerabilities
C:\Users\X\AppData\Roaming\npm\node -> C:\Users\X\AppData\Roaming\npm\node_modules\node\bin\node
+ node#10.6.0
added 2 packages from 1 contributor in 26.089s
Read more about it at https://www.npmjs.com/package/node.
The easy way to update node and npm :
npm install -g npm#latest
download the latest version of node js and update /install
$ npm install -g npm stable
worked for me to update npm
Install nvm(cURL)
$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.1/install.sh | bash
OR with Wget
$ wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash
Display list of installed versions
$ nvm ls
Display list of versions that are available to install
$ nvm ls-remote
Install your preferred version
$ nvm install v7.5.0
Set this version as the default
$ nvm alias default v7.5.0
For Ubuntu:
sudo apt-get install -y curl
curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -
sudo apt-get install -y nodejs
Source: https://askubuntu.com/questions/426750/how-can-i-update-my-nodejs-to-the-latest-version
You may use Chocolatey on Windows. It's very easy to use and useful for keeping you updated with other applications too.
Also, you can just simply download the latest version from https://nodejs.org and install it.
According to Nodejs Official Page, you can install&update new node version on windows using Chocolatey or Scoop
Using(Chocolatey):
cinst nodejs
# or for full install with npm
cinst nodejs.install
Using(Scoop):
scoop install nodejs
Also you can download the Windows Installer directly from the nodejs.org web site
As some of you already said, the easiest way is to update Node.js through the Node.js package manager, npm. If you are a Linux (Debian-based in my case) user I would suggest to add these lines to your .bashrc file (in home directory):
function nodejsupdate() {
ARGC=$#
version=latest
if [ $ARGC != 0 ]; then
version=$1
fi
sudo npm cache clean -f
sudo npm install -g n
sudo n $version
}
Restart your terminal after saving and write nodejsupdate to update to the latest version of Node.js or nodejsupdate v6.0.0 (for example) to update to a specific version of Node.js.
BONUS: Update npm (add these lines to .bashrc)
function npmupdate() {
sudo npm i npm -g
}
After restarting the terminal write npmupdate to update your node package manager to the latest version.
Now you can update Node.js and npm through your terminal (easier).
In windows download the node executable file from the website and install it. this worked for me.
All you need to version update of Node.js:
$ brew install node
If you don't have Homebrew; please go http://brew.sh/.
Just install the new version over the current folder. I upgraded mine from v4.x to v6.10 on Windows.
npm clean cache - you forget to clean ur cache
npm update -g
This works on mine Windows, I hope it will also work for you :D
If you want to update Node.js, just try
npm update
from your Windows cmd prompt.
Else if you want to update any specific package try
npm update <package_name>
Example:
npm update phonegap
open cmd and type
npm i -g npm

How to change to an older version of Node.js

I am running Node.js version v0.5.9-pre on Ubuntu 10.10.
I would like to be using version v0.5.0-pre.
How do I roll back to the older version of node?
*NIX (Linux, OS X, ...)
Use n, an extremely simple Node version manager that can be installed via npm.
Say you want Node.js v0.10.x to build Atom.
npm install -g n # Install n globally
n 0.10.33 # Install and use v0.10.33
Usage:
n # Output versions installed
n latest # Install or activate the latest node release
n stable # Install or activate the latest stable node release
n <version> # Install node <version>
n use <version> [args ...] # Execute node <version> with [args ...]
n bin <version> # Output bin path for <version>
n rm <version ...> # Remove the given version(s)
n --latest # Output the latest node version available
n --stable # Output the latest stable node version available
n ls # Output the versions of node available
Windows
Use nvm-windows, it's like nvm but for Windows. Download and run the installer, then:
nvm install v0.10.33 # Install v0.10.33
nvm use v0.10.33 # Use v0.10.33
Usage:
nvm install [version] # Download and install [version]
nvm uninstall [version] # Uninstall [version]
nvm use [version] # Switch to use [version]
nvm list # List installed versions
One way is to use NVM, the Node Version Manager.
Use following command to get nvm
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
You can find it at https://github.com/creationix/nvm
It allows you to easily install and manage multiple versions of node. Here's a snippet from the help:
Usage:
nvm install <version> Download and install a <version>
nvm use <version> Modify PATH to use <version>
nvm ls List versions (installed versions are blue)
Update: Updated the answer because previous one was not relevant.
Follow below steps to update your node version.
1. Install nvm For this run below command in your terminal
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
Note: If above command did not work for you, you can choose another option to install it. I have added an answer for this here
2. Install specific node version using nvm
For this run
Replace 12.14.1 with your node version
nvm install 12.14.1
Note: If you are getting error of NVM not recognised then run below command and then run above again
source ~/.nvm/nvm.sh
3. Make the installed version default
Note: Replace 12.14.1 with your installed version.
nvm alias default 12.14.1
and
nvm use 12.14.1
4. Check node version
node -v
And that's it.
Extra
To check list of installed node versions -- run below command
nvm ls
Why use any extension when you can do this without extension :)
Install specific version of node
sudo npm cache clean -f
sudo npm install -g n
sudo n stable
Specific version : sudo n 4.4.4 instead of sudo n stable
With package.json - The Maintainable and Portable Way 🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉
Lets each project specify its own version
You can add node as a dependency in package.json and control which version is used for a particular project. Upon executing a package.json "script", npm (and yarn) will use that version to run the script instead of the globally installed Node.js.
The node package accomplishes this by downloading a node binary for your local system and puts it into the node_modules/.bin directory.
You can also do this with the npm (or yarn) packages but you'll need to set your PATH up specifically or use something like npx that handles it for you.
Ubuntu - The Official Way (manually) 😵
If you're on node 12 and want to downgrade to node 10, just remove node and follow the instructions for the desired version:
# Remove the version that is currently installed
sudo apt remove -y nodejs
# Setup sources for the version you want
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
# (Re-)Install Node
sudo apt-get install -y nodejs
Windows - The Official Way (manually) 😵
I found myself wanting to downgrade to LTS on Windows from the bleeding edge. If you're not using a package manager like Chocolatey or a node version manager like nvm or n, just download the .msi for the version you want and install it. You might want to remove the currently installed version via "Add or remove programs" tool in Windows.
Windows Package Manager - winget 🎉🎉
The Open Source Windows Package Manager Way
winget install -e --id OpenJS.Nodejs -v 14.9.0
Chocolatey - The Independent Package Manager Way 🎉
Chocolatey is good for keeping installations up to date easily and it is a common way to install Node.js on Windows. I had to remove the bleeding edge version before installing the LTS version:
choco uninstall nodejs
choco install nodejs-lts
Node Version Manager - The "Screw it, I'll do it myself!" Way 😢😢😢😭😭😭😭😭
While not very portable or easily maintainable, some developers like manually switching which global version of node is active at any given point in time and think the official ways of doing this are too slow. There are two popular Npm packages that provide helpful CLI interfaces for selecting (and automatically installing) whichever version you want for your system: nvm and n. Using either is beyond the scope of this answer.
I highly recommend staying away from this option. Even though it's popular, it's an anti-pattern that is sure to cause headaches in the future. Sure, .nvmrc exists, but this is reinventing something that's already a part of Npm. Just npm i node the version you want.
Windows
Downgrade Node with Chocolately
Install Chocolatey. Then run:
choco install nodejs.install -version 6.3.0
Chocolatey has lots of Node versions available.
Downgrade NPM
npm install -g npm#3.10.3
the easiest way i have found is to just use the nodejs.org site:
go to https://nodejs.org/en/download/releases/
find version you want and click download
on mac click the .pkg executable and follow the installation instructions (not sure what the correct executable is for windows)
be happy now that you are on the version of node you wanted
nvmw is no longer maintained, but I found another source that seems to be up to date (as of 1/4/17).
nvm-windows
It works. Allowed me to downgrade to 6.3.1
You need to install NVM for this.
For Mac
Edit .bash_profile using the below command.
nano .bash_profile
And add the following lines to .bash_profile
export NVM_DIR=~/.nvm
source ~/.nvm/nvm.sh
Save it. Exit the terminal and check the magic.
Then install the required version using the below command.
nvm install v14.18.0
If you want to check the installed node versions on your system. Use the below command.
nvm ls
If you want to use the specific version from the installed node versions. Use below command
nvm use 12.14.4
Another good library for managing multiple versions of Node is N: https://github.com/visionmedia/n
On windows 7 I used the general 'Uninstall Node.js' (just started typing in the search bottom left ,main menu field) followed by clicking the link to the older version which complies with the project, for instance:
Windows 64-bit Installer: https://nodejs.org/dist/v4.4.6/node-v4.4.6-x64.msi
I had node version 6.4.0 .
As i am need of the older version 6.3.0 , i just installed the 6.3.0 version again in my system. node version downgraded automatically.
So, to downgrade the node version ,
Just install the older version of node js . It will get downgraded automatically from the higher version.
I tried in osx . It works like a charm .
Now the v0.5.0-pre has reached end of life. We can use npx to use any stable older version of node. E.g. the earliest stable version is 4.9.0.
npx -p node#4.9.0 -- node -v
run this:
rm -rf node_modules && npm cache clear && npm install
Node will install from whatever is cached. So if you clear everything out first, then NPM use 0.10.xx, it will revert properly.
Easiest way i found -
Uninstall current version
Download the appropriate .msi installer (x64 or x86) for the desired version from https://nodejs.org/download/release/
Use following commnad with your version number
nvm install v8.9
nvm alias default v8.9
nvm use v8.9
For some reason Brew installs node 5 into a separate directory called node5.
The steps I took to get back to version 5 were: (You will need to look up standard brew installation/uninstallation, but otherwise this process is more straightforward than it looks.)
Install node5 using Brew standard installation, BUT don't brew link, yet.
Uninstall all other versions of node using brew unlink node and brew uninstall node. You might need to use --force to remove one of the versions.
Find the cellar folder on your computer
Delete the node folder in the cellar.
Rename the node5 folder to node.
Then, brew link node
You should be all set with node 5.
If you are like, you already install node version you want but can't seem to switch to it, try this:
nvm use --delete-prefix <version>. npm shows the lates version installed but can't switch to it. If so, this is the output you will see:
You need to run "nvm install v16.2.0
Then run:nvm install <type the version you wish to use here>Your output should look like this:
Downloading and installing node v16.2.0... Downloading https://nodejs.org/dist/v16.2.0/node-v16.2.0-linux-x64.tar.xz... ####################################################################### 100.0% Computing checksum with sha256sum Checksums matched! Now using node v16.2.0 (npm v7.13.0) Creating default alias: default -> v16.2.0
You are done! You can see the latest version by running:
node -v
if you want to go to the LTS version of node which is the stable one from the latest/current version simply run this in your directory.
npm i node
this will install the LTS version of node in your directory.
I faced a lot of issue with this and the only solution that worked for me is :
source ~/.nvm/nvm.sh
nvm isntall node_version_you_want
nvm use node_version_you_want
nvm install 0.5.0 #install previous version of choice
nvm alias default 0.5.0 #set it to default
nvm use default #use the new default as active version globally.
Without the last, the active version doesn't change to the new default. So, when you open a new terminal or restart server, the old default version remains active.
follow the steps if u already install curl its work for me
sudo snap remove curl
sudo apt install curl
nvm install 12.2.0
As i can see this was asked a long time ago, but maybe it can be helpful for someone else.
I can recommend this utility (NVS - Node Version Switcher) to someone who is searching for a way to switching between different versions of NodeJS:
https://github.com/jasongin/nvs
The Easiest way I find to install node.js with a specific version:
First uninstall your node.js
Go to, https://nodejs.org/en/download/releases/ and find your desired version.
Select your version and click on the download button.
Download .msi file

Resources