- 
            
      
        
      
    Star
      
          
          (227)
      
  
You must be signed in to star a gist  - 
              
      
        
      
    Fork
      
          
          (42)
      
  
You must be signed in to fork a gist  
- 
      
 - 
        
Save othiym23/4ac31155da23962afd0e to your computer and use it in GitHub Desktop.  
| #!/bin/sh | |
| set -e | |
| set -x | |
| for package in $(npm -g outdated --parseable --depth=0 | cut -d: -f3) | |
| do | |
| npm -g install "$package" | |
| done | 
| #!/bin/sh | |
| set -e | |
| set -x | |
| for package in $(npm -g outdated --parseable --depth=0 | cut -d: -f2) | |
| do | |
| npm -g install "$package" | |
| done | 
npm outdated -g was fixed a while back and works with npm version 6.4.1.
Running npm v6.8.0 and seeing this problem again. Global packages won't update beyond "wanted".
> npm outdated --global
Package        Current  Wanted  Latest  Location
color-convert    1.9.3   1.9.3   2.0.0
mocha            5.2.0   5.2.0   6.0.0
pdfkit           0.8.3   0.8.3   0.9.0
> npm update --global pdfkit
# does nothing
> npm update --global pdfkit@latest
# does nothing
> npm install --global pdfkit
+ [email protected]
added 8 packages from 41 contributors and updated 22 packages in 9.638s
    If you prefer to choose which global modules are updated I've added interactive updating to npm-check with support for
global.It also includes links to the source for each updated package so you can find out what's new.
Behind the scenes
npm-checkusesnpm installthanks to the recommendation from @othiym23 in this thread.# install npm -g i npm-check # interactive update of global packages npm-check -u -g # interactive update for a project you are working on npm-check -uSource: github.com/dylang/npm-check
Great, bro! Thanks! :D
The Wanted version shall be another major version, which is not very favorable, since it can break things.
Here is a way to upgrade only minor versions of global packages:
npm_global_packages=($(npm list -g --depth 0 | awk '/ /{print $2}'))
for val in "${npm_global_packages[@]}"; do
    npm i -g --force $(echo $val | tr "." "\n" | head -1)
doneGood part is, that it will not bump npm to a version that is incompatible with the current node version, so this will most likely not break.

npm outdated -gseems to have stopped working too. Does not print anything at all here though there definitely are outdated packages.