Server IP : 127.0.0.2 / Your IP : 18.216.82.12 Web Server : Apache/2.4.18 (Ubuntu) System : User : www-data ( ) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : disk_free_space,disk_total_space,diskfreespace,dl,exec,fpaththru,getmyuid,getmypid,highlight_file,ignore_user_abord,leak,listen,link,opcache_get_configuration,opcache_get_status,passthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,php_uname,phpinfo,posix_ctermid,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid,posix,_getppid,posix_getpwnam,posix_getpwuid,posix_getrlimit,posix_getsid,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_times,posix_ttyname,posix_uname,pclose,popen,proc_open,proc_close,proc_get_status,proc_nice,proc_terminate,shell_exec,source,show_source,system,virtual MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/doc/npm/cli/ |
Upload File : |
<!doctype html> <html> <title>npm-update</title> <meta http-equiv="content-type" value="text/html;utf-8"> <link rel="stylesheet" type="text/css" href="../../static/style.css"> <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-update.html"> <script async=true src="../../static/toc.js"></script> <body> <div id="wrapper"> <h1><a href="../cli/npm-update.html">npm-update</a></h1> <p>Update a package</p> <h2 id="synopsis">SYNOPSIS</h2> <pre><code>npm update [-g] [<pkg>...] </code></pre><h2 id="description">DESCRIPTION</h2> <p>This command will update all the packages listed to the latest version (specified by the <code>tag</code> config), respecting semver.</p> <p>It will also install missing packages. As with all commands that install packages, the <code>--dev</code> flag will cause <code>devDependencies</code> to be processed as well.</p> <p>If the <code>-g</code> flag is specified, this command will update globally installed packages.</p> <p>If no package name is specified, all packages in the specified location (global or local) will be updated.</p> <p>As of <code>npm@2.6.1</code>, the <code>npm update</code> will only inspect top-level packages. Prior versions of <code>npm</code> would also recursively inspect all dependencies. To get the old behavior, use <code>npm --depth 9999 update</code>, but be warned that simultaneous asynchronous update of all packages, including <code>npm</code> itself and packages that <code>npm</code> depends on, often causes problems up to and including the uninstallation of <code>npm</code> itself.</p> <p>To restore a missing <code>npm</code>, use the command:</p> <pre><code>curl -L https://npmjs.com/install.sh | sh </code></pre><h2 id="examples">EXAMPLES</h2> <p>IMPORTANT VERSION NOTE: these examples assume <code>npm@2.6.1</code> or later. For older versions of <code>npm</code>, you must specify <code>--depth 0</code> to get the behavior described below.</p> <p>For the examples below, assume that the current package is <code>app</code> and it depends on dependencies, <code>dep1</code> (<code>dep2</code>, .. etc.). The published versions of <code>dep1</code> are:</p> <pre><code>{ dist-tags: { latest: "1.2.2" }, versions: { "1.2.2", "1.2.1", "1.2.0", "1.1.2", "1.1.1", "1.0.0", "0.4.1", "0.4.0", "0.2.0" } } </code></pre><h3 id="caret-dependencies">Caret Dependencies</h3> <p>If <code>app</code>'s <code>package.json</code> contains:</p> <pre><code>dependencies: { dep1: "^1.1.1" } </code></pre><p>Then <code>npm update</code> will install <code>dep1@1.2.2</code>, because <code>1.2.2</code> is <code>latest</code> and <code>1.2.2</code> satisfies <code>^1.1.1</code>.</p> <h3 id="tilde-dependencies">Tilde Dependencies</h3> <p>However, if <code>app</code>'s <code>package.json</code> contains:</p> <pre><code>dependencies: { dep1: "~1.1.1" } </code></pre><p>In this case, running <code>npm update</code> will install <code>dep1@1.1.2</code>. Even though the <code>latest</code> tag points to <code>1.2.2</code>, this version does not satisfy <code>~1.1.1</code>, which is equivalent to <code>>=1.1.1 <1.2.0</code>. So the highest-sorting version that satisfies <code>~1.1.1</code> is used, which is <code>1.1.2</code>.</p> <h3 id="caret-dependencies-below-1-0-0">Caret Dependencies below 1.0.0</h3> <p>Suppose <code>app</code> has a caret dependency on a version below <code>1.0.0</code>, for example:</p> <pre><code>dependencies: { dep1: "^0.2.0" } </code></pre><p><code>npm update</code> will install <code>dep1@0.2.0</code>, because there are no other versions which satisfy <code>^0.2.0</code>.</p> <p>If the dependence were on <code>^0.4.0</code>:</p> <pre><code>dependencies: { dep1: "^0.4.0" } </code></pre><p>Then <code>npm update</code> will install <code>dep1@0.4.1</code>, because that is the highest-sorting version that satisfies <code>^0.4.0</code> (<code>>= 0.4.0 <0.5.0</code>)</p> <h3 id="recording-updates-with-save-">Recording Updates with <code>--save</code></h3> <p>When you want to update a package and save the new version as the minimum required dependency in <code>package.json</code>, you can use <code>npm update -S</code> or <code>npm update --save</code>. For example if <code>package.json</code> contains:</p> <pre><code>dependencies: { dep1: "^1.1.1" } </code></pre><p>Then <code>npm update --save</code> will install <code>dep1@1.2.2</code> (i.e., <code>latest</code>), and <code>package.json</code> will be modified:</p> <pre><code>dependencies: { dep1: "^1.2.2" } </code></pre><p>Note that <code>npm</code> will only write an updated version to <code>package.json</code> if it installs a new package.</p> <h3 id="updating-globally-installed-packages">Updating Globally-Installed Packages</h3> <p><code>npm update -g</code> will apply the <code>update</code> action to each globally- installed package that is <code>outdated</code> -- that is, has a version that is different from <code>latest</code>.</p> <p>NOTE: If a package has been upgraded to a version newer than <code>latest</code>, it will be <em>downgraded</em>.</p> <h2 id="see-also">SEE ALSO</h2> <ul> <li><a href="../cli/npm-install.html">npm-install(1)</a></li> <li><a href="../cli/npm-outdated.html">npm-outdated(1)</a></li> <li><a href="../cli/npm-shrinkwrap.html">npm-shrinkwrap(1)</a></li> <li><a href="../misc/npm-registry.html">npm-registry(7)</a></li> <li><a href="../files/npm-folders.html">npm-folders(5)</a></li> <li><a href="../cli/npm-ls.html">npm-ls(1)</a></li> </ul> </div> <table border=0 cellspacing=0 cellpadding=0 id=npmlogo> <tr><td style="width:180px;height:10px;background:rgb(237,127,127)" colspan=18> </td></tr> <tr><td rowspan=4 style="width:10px;height:10px;background:rgb(237,127,127)"> </td><td style="width:40px;height:10px;background:#fff" colspan=4> </td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=4> </td><td style="width:40px;height:10px;background:#fff" colspan=4> </td><td rowspan=4 style="width:10px;height:10px;background:rgb(237,127,127)"> </td><td colspan=6 style="width:60px;height:10px;background:#fff"> </td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=4> </td></tr> <tr><td colspan=2 style="width:20px;height:30px;background:#fff" rowspan=3> </td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=3> </td><td style="width:10px;height:10px;background:#fff" rowspan=3> </td><td style="width:20px;height:10px;background:#fff" rowspan=4 colspan=2> </td><td style="width:10px;height:20px;background:rgb(237,127,127)" rowspan=2> </td><td style="width:10px;height:10px;background:#fff" rowspan=3> </td><td style="width:20px;height:10px;background:#fff" rowspan=3 colspan=2> </td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=3> </td><td style="width:10px;height:10px;background:#fff" rowspan=3> </td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=3> </td></tr> <tr><td style="width:10px;height:10px;background:#fff" rowspan=2> </td></tr> <tr><td style="width:10px;height:10px;background:#fff"> </td></tr> <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr> <tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr> </table> <p id="footer">npm-update — npm@3.5.2</p>