1253

I used nvm to download node v0.4.10 and installed npm to work with that version of node.

I am trying to install express using

npm install express -g

and I get an error that express requires node version >= 0.5.0.

Well, this is odd, since I am following the directions for a node+express+mongodb tutorial here that used node v0.4.10, so I am assuming express is/was available to node v0.4.10. If my assumption is correct, how do I tell npm to fetch a version that would work with my setup?

CC BY-SA 4.0
2

10 Answers 10

2063

If you have to install an older version of a package, just specify it

npm install <package>@<version>

For example: npm install express@3.0.0

You can also add the --save flag to that command to add it to your package.json dependencies, or --save --save-exact flags if you want that exact version specified in your package.json dependencies.

The install command is documented here: https://docs.npmjs.com/cli/install

If you're not sure what versions of a package are available, you can use:

npm view <package> versions

And npm view can be used for viewing other things about a package too. https://docs.npmjs.com/cli/view

CC BY-SA 3.0
7
141

It's quite easy. Just write this, for example:

npm install -g npm@4.6.1

Or:

npm install -g npm@latest    // For the last stable version
npm install -g npm@next      // For the most recent release

Note that package will be installed globally and be available for any project at your machine. But in case of npm package it's absolutely expected behaviour

CC BY-SA 4.0
3
  • 2
    Thanks for the latest and next version tags! Commented May 15, 2019 at 16:35
  • 14
    @inaps you might add a note that the -g flag is specifically for packages you want installed globally as a lot of users will get to this page and merely copy/paste without realizing how they are about to impact their package ecosystem. We've all been "that guy"
    – Jacksonkr
    Commented Apr 26, 2020 at 15:27
  • 1
    this will install the exact version locally but will put '^4.6.1' in package.json which means other developers or build tools may get another subversion which may not be what you want and cause a build to fail.
    – JesseBoyd
    Commented Mar 12, 2021 at 17:34
118

First remove old version, then run literally the following:

npm install express@3.X

or

npm install express@4.X

and for stable or recent

npm install -g npm@latest    // For the last stable version
npm install -g npm@next      // For the most recent release
CC BY-SA 4.0
6
46

In my opinion that is easiest and fastest way:

$ npm -v

4.2.0

$ npm install -g npm@latest-3

...

$ npm -v

3.10.10

CC BY-SA 3.0
0
13

you can update your npm package by using this command:

npm install <package_name>@<version_number>

example: npm install yargs@12.0.2

CC BY-SA 4.0
4

I have a general way to solve this type of problems, which could be helpful too, especially when cloning repositories to run them locally, but requires a little more analysis of the versions.

With the package npm-check-updates I verify the versions of the packages (according to the package.json file) that are not declared in their latest available versions, as shown in the figure (https://www.npmjs.com/package/npm-check-updates):

enter image description here

With this information we can verify the update status of the different packages and make decisions as to which packages to upgrade / degrade and which ones do not.

Assuming that we decided to update all the packages as they are listed, we can use the ncu -u command which only modifies your package.json file. Run npm install to update your installed packages and package-lock.json.

Then, depending on the requirements of the repository, we can refine what is needed, installing the specific versions with npm view <package> versions and npm install <package>@<version>

CC BY-SA 4.0
3

You can use the following command to install a previous version of an npm package:

npm install packagename@version
CC BY-SA 4.0
0
2

If you have to install an older version of a package, just specify it

npm install @ For example: npm install express@3.0.0

You can also add the --save flag to that command to add it to your package.json dependencies, or --save --save-exact flags if you want that exact version specified in your package.json dependencies.

The install command is documented here: https://docs.npmjs.com/cli/install

If you're not sure what versions of a package are available, you can use:

npm view versions And npm view can be used for viewing other things about a package too. https://docs.npmjs.com/cli/view

CC BY-SA 4.0
1
  • 1
    Your answer could be improved with additional supporting information. Please edit to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers in the help center.
    – Community Bot
    Commented Mar 10, 2022 at 7:38
0

The easiest way I found: add package name with the version in package.json and then run npm install

"next-seo": "^5.4.0",
"next-themes": "^0.1.1",
"nextjs-progressbar": "^0.0.14",
CC BY-SA 4.0
0

Use npm config set save-exact=true if you want to install the exact version

CC BY-SA 4.0

Not the answer you're looking for? Browse other questions tagged or ask your own question.