Trantor Liu
Trantor Liu

Reputation: 9156

npm - how to show the latest version of a package

How do I use npm to show the latest version of a module? I am expecting something like npm --latest express to print out v3.0.0.

Upvotes: 448

Views: 288008

Answers (10)

Josh Johanning
Josh Johanning

Reputation: 1245

npm view @azure/static-web-apps-cli dist-tags.latest

Returns 1.1.6

Upvotes: 2

mrienstra
mrienstra

Reputation: 622

npm view express versions --json | grep -E '^ *"'\
  | sort -rV | head -n 1 | sed -E 's/^ *"(.+)",*$/\1/'

(currently 5.0.0-beta.1)

With major version specified:

npm view express versions --json | grep -E '^ *"4\.'\
  | sort -rV | head -n 1 | sed -E 's/^ *"(.+)",*$/\1/'

(currently 4.18.2)

With both major & minor specified:

npm view express versions --json | grep -E '^ *"3\.16\.'\
  | sort -rV | head -n 1 | sed -E 's/^ *"(.+)",*$/\1/'

(currently 3.16.10)

If you want to play around with these commands, you can start by dumping the JSON array of versions into a file: npm view express versions --json > express_versions.json.

Next, cat express_versions.json | grep -E '^ *"4\.' to see only the lines starting with zero or more spaces, followed by the string "4.

Next, cat express_versions.json | grep -E '^ *"3\.16\.' | sort -rV to see 3.16.x versions reverse-sorted using version sort.

Tack | head -n 1 onto that to show only the first line, in this case "3.16.10",.

Finally, | sed -E 's/^ *"(.+)",*$/\1/' strips "3.16.10", down to 3.16.10.

docs:
npm view
grep --extended-regexp (-E)
sort --reverse (-r)
sort --version-sort (-V)
head --lines (-n)
sed --extended-regexp (-E)

Upvotes: 1

CD..
CD..

Reputation: 74166

You can use:

npm view {pkg} version

(so npm view express version will return now 3.0.0rc3).

Upvotes: 656

Hasan Tezcan
Hasan Tezcan

Reputation: 1252

I just want to see the commithub current version and I find the way! Let's take a look together

npm list commithub version -g

This gives this output

/Users/hasan.tezcan/.nvm/versions/node/v14.18.0/lib
└── [email protected] 

But I just want to see the version in output

npm list --depth=0 commithub -g | awk '/commithub@/{gsub(/.*@/, "", $NF); print $NF}'

After that I can able to see only version that is amazing

0.0.1

Upvotes: 0

Andrea Ratto
Andrea Ratto

Reputation: 845

The npm view <pkg> version prints the last version by release date. That might very well be an hotfix release for a older stable branch at times.

The solution is to list all versions and fetch the last one by version number

$ npm view <pkg> versions --json | jq -r '.[-1]'

Or with awk instead of jq:

$ npm view <pkg> versions --json  | awk '/"$/{print gensub("[ \"]", "", "G")}'

Upvotes: 11

George John
George John

Reputation: 2767

This npm-check-updates package will help you to update and check the latest available package.

  • $ ncu Checking package.json
  • $ ncu -u Update all packages.
  • $ ncu -g Check global packages.

For more details check this link

https://www.npmjs.com/package/npm-check-updates

Upvotes: 7

Sksaif Uddin
Sksaif Uddin

Reputation: 692

There is also another easy way to check the latest version without going to NPM if you are using VS Code.

In package.json file check for the module you want to know the latest version. Remove the current version already present there and do CTRL + space or CMD + space(mac).The VS code will show the latest versions

image shows the latest versions of modules in vscode

Upvotes: 6

Rajkeshwar Prasad
Rajkeshwar Prasad

Reputation: 899

You can see all the version of a module with npm view. eg: To list all versions of bootstrap including beta.

npm view bootstrap versions

But if the version list is very big it will truncate. An --json option will print all version including beta versions as well.

npm view bootstrap versions --json

If you want to list only the stable versions not the beta then use singular version

npm view bootstrap@* versions

Or

npm view bootstrap@* versions --json

And, if you want to see only latest version then here you go.

npm view bootstrap version

Upvotes: 16

arcseldon
arcseldon

Reputation: 37145

As of October 2014:

npm view illustration

For latest remote version:

npm view <module_name> version  

Note, version is singular.

If you'd like to see all available (remote) versions, then do:

npm view <module_name> versions

Note, versions is plural. This will give you the full listing of versions to choose from.

To get the version you actually have locally you could use:

npm list --depth=0 | grep <module_name>

Note, even with package.json declaring your versions, the installed version might actually differ slightly - for instance if tilda was used in the version declaration

Should work across NPM versions 1.3.x, 1.4.x, 2.x and 3.x

Upvotes: 104

adius
adius

Reputation: 14992

If you're looking for the current and the latest versions of all your installed packages, you can also use:

npm outdated

Upvotes: 330

Related Questions