Try the latest stable version of npm
In the last tutorial we recommended that you always use a stable version of Node we also gave you instructions on how to install a stable version of Node for different operating system.
In this tutorial we are going to show you how to check you npm version, as well as how to upgrade node for different operating systems.
To see the version of npm that you are running, you will need to run the following command:
npm -v
Upgrading on *nix (OSX, Linux, etc.)
To upgrade your npm version, you can either upgrade the latest version of npm using:
npm install -g [email protected]
or you can upgrade to the most recent release:
npm install -g [email protected]
In most cases, you may have to prefix these commands with sudo, especially of Linux, or OSX if Node was installed using its default installer.
Upgrading on Windows
Npm is installed alongside node inC:\Program Files (x86 )\nodejs by default. While its globally installed packages are stored separately in a user-specific directory(C:\Users\<username>\AppData\Roaming\npm).
This is because the installer will put C:\Program Files (x86)\nodejs
Before
C:\Users\<username>\AppData\Roaming\npm
On your path, it always uses the version of npm that is installed with node, rather than the version of pm that you installed using npm ?g install [email protected]<version>
For you to get around this, you have the following options available to you:
- Option 1:you can edit your Windows installation's PATH to put %appdata%\npm before %ProgramFiles%\nodejs. You should remember that you will need to restart cmd (and potentially restart Windows) whenever you make changes to PATH or how npm is installed.
- Option 2: remove both
- %ProgramFiles%\nodejs\npm and
- %ProgramFiles%\nodejs\npm.cmd
- Option 3: You can navigate to %ProgramFiles%\nodejs\node_modules\npm and copy the npmrc file to another folder or the desktop. Then open the cmd and run these commands:
cd %ProgramFiles%\nodejs
npm install [email protected]
if npm is installed with the nodejs installer, after following any of the previous steps, you can do the following:
- Option 1 or 2
- You need to go into %ProgramFiles%\nodejs\node_modules\npm and copy the file that is named npmrc in the new npm folder, this should be%appdata%\npm\node_modules\npm. This tells the new npm where the global installed packages are.
- Option 3
- You should copy the npmrc file back into %ProgramFiles%\nodejs\node_modules\npm
The steps above have a small command line tool to automate it. You can download it here https://github.com/felixrieseberg/npm-windows-upgrade
Note on the built-in windows configuration
The node installer will install directly into the npm folder, a special piece of windows-specific configuration that tell npm where it should install global packages. Whenever npm is used to install itself, it is supposed to copy this builtin configuration into the new install. However, there was a bug in some versions of npm that prevented this from working, so may have to fix that manually. To find out if your npm install location is correct, you will need to run this command:
npm config get prefix ?g
if it is not set to <X>:\Users\<user>\AppData\Roaming\npm, you will have to run the command below to correct it:
npm config set prefix "${APPDATA}/npm" ?g
However, if you do not want packages to be installed to your roaming profile, you can put it inside your local app data instead:
npm config set prefix "${LOCALAPPDATA}/npm" ?g
as well copying the %APPDATA%\npm to %LOCALAPPDATA%\npm (and then you update your %PATH%).
Your npm is broken
If your npm is broken, you have to reinstall npm using Node?s official installer.
Previous:
Troubleshooting
Next:
Common Errors
- New Content published on w3resource :
- Python Numpy exercises
- Python GeoPy Package exercises
- Python Pandas exercises
- Python nltk exercises
- Python BeautifulSoup exercises
- Form Template
- Composer - PHP Package Manager
- PHPUnit - PHP Testing
- Laravel - PHP Framework
- Angular - JavaScript Framework
- React - JavaScript Library
- Vue - JavaScript Framework
- Jest - JavaScript Testing Framework