npm outdated 全方位解读

本文参考了NPM中文文档写作而成的

npm outdated 功能

检查过时的软件包

npm outdated 使用

npm outdated [[<@scope>/]<pkg> ...]

如果没有老版本的,就没有任何输出,参见下面

如果有新版本的,会提示你需要更新到的版本,如下图;

npm outdated 说明

此命令将检查注册表以查看当前是否已安装任何(或特定的)已安装软件包。

在输出中:

  • wanted是满足中指定的 semver 范围的软件包的最高版本 package.json。如果没有可用的存储范围(即您正在运行 npm outdated --global,或者该软件包未包含在其中 package.json),则 wanted 显示当前安装的版本。
  • latest是在注册表中标记为最新的软件包的版本。npm publish 在没有特殊配置的情况下运行将发布带有 dist-tag 的软件包 latest。这可能是软件包的最高版本,也可能不是软件包的最新版本,这取决于软件包的开发人员如何管理最新的 dist-tag。
  • location是程序包在依赖关系树中的位置。请注意, npm outdated 默认深度为 0,因此,除非您覆盖该深度,否则始终将仅看到过时的顶级依赖项。
  • package type(使用 --long/ 时 -l)告诉您此软件包是 a dependency 还是 a devDependency。未包含的软件包 package.json 始终带有标记 dependencies。
  • homepage(当使用--long/ 时 -l)是 homepage 包中包含的值 package.json
  • 红色表示有一个新版本符合您的 semver 要求,因此您应该立即进行更新。
  • 黄色表示超出您的英语要求(通常是新的专业,或新的 0.x 次要),因此请谨慎行事。

一个例子

$ npm outdated
Package     Current     Wanted  Latest  Location
glob        5.0.15      5.0.15  6.0.1   test-outdated-output
nothingness 0.0.3       git     git     test-outdated-output
npm         3.5.1       3.5.2   3.5.1   test-outdated-output
local-dev   0.0.3       linked  linked  test-outdated-output
once        1.3.2       1.3.3   1.3.3   test-outdated-output

有了这些 dependencies:

{
    "glob": "^5.0.15",
    "nothingness": "github:othiym23/nothingness#master",
    "npm": "^3.5.1",
    "once": "^1.3.1"
}

注意事项:

  • glob需要 ^5,这 NPM 防止安装 glob@6,这是 semver 范围之外。
  • Git 依赖项将始终被重新安装,因为它们是如何指定的。安装的 committish 可能满足的依赖符(如果它的东西不可变的,就像一个犯 SHA),也可能没有,所以 npm outdated 并 npm update 有获取的 Git 回购检查。这就是为什么当前重新安装 Git 依赖项总是强制执行新克隆并安装的原因。
  • npm@3.5.2被标记为“通缉令”,但“最新”,是 npm@3.5.1因为故宫使用的 dist- 标签来管理其 latest 和 next 释放的通道。npm update 将安装最新版本,但 npm install npm(没有 semver 范围)将安装标记为的任何内容 latest。
  • once只是过时了。node_modules 从头开始安装或重新运行 npm update 将使其达到规格。

配置

json

以 JSON 格式显示信息。

long

显示扩展信息。

parseable

显示可分析的输出而不是树视图。

global

在全局安装前缀中而不是在当前项目中检查软件包。

depth

用于检查依赖关系树的最大深度。

本文参考NPM中文文档

原文链接:segmentfault.com

上一篇:npm ls 全方位解读
下一篇:npm owner 全方位解读

相关推荐

  • 项目中npm依赖问题

    最近开发遇到一个npm依赖导致的问题,报错如下。 sloterror(https://img.javascriptcn.com/804ed4a03d02191762c1f48473ba1711 "sl...

    2 年前
  • 随记-npm

    npm npm是包管理器,方便开发人员分享,复用代码 用于搜索js模块/包的网站 npm服务器可下载或上传安装包或命令行程序 npm仓库存储安装包/安装模块 npm 安装 npm依赖于node,...

    2 个月前
  • 针对前端开发可重用组件并发布到NPM

    翻译:疯狂的技术宅 原文:https://www.smashingmagazine....(https://www.smashingmagazine.com/2018/07/reusablecom...

    1 年前
  • 通过npm引用的vue组件使用详解

    什么是组件:组件是Vue.js最强大的功能之一。组件可以扩展HTML元素,封装可重用的代码。在较高层面上,组件是自定义的元素,Vue.js的编译器为它添加特殊功能。

    3 年前
  • 透过 TDD 模式学习如何实现各种 npm 工具

    前言 在程序員的日常精進之中,閱讀優秀的代碼是必不可少的。透過 TDD 的開發模式,可以模仿那些優秀的代碼,從而提升自己代碼水平。下面介紹如何從零開始搭建 TDD 環境,並構建 isEven 代碼...

    2 年前
  • 边学习变记:npm 常用的几个指令(持续更新。。。)

    在当前文件夹下,地址栏输入cmd 呼出控制台。1.npm init 初始化项目,npm init y 生成默认配置。 2.查看当前使用的镜像地址:npm get registry默认镜像地址:http...

    3 个月前
  • 踩坑札记之 npm 包发布

    重点阐述 npm 包发布前后所踩坑,首先科普如何发布 npm 包。 发布流程 注册账号 开启终端输入: 根据提示输入 username、password、email 即刻注册成功,已注...

    1 年前
  • 贡献你的力量 开发一个Vue组件并发布到npm

    最近在工作中写了一个面向 PC 端的 Vue 滚动组件,关于 PC 端的滚动组件以前也用过一些,但是没有找到特别满意的,所以自己想着把这个组件开源发布出去,希望能够帮到和我有类似需求的人吧! 目标 ...

    2 年前
  • 详解node.js中的npm和webpack配置方法

    概述 Node.js用c语言编写而成的,是一个基于chrome V8引擎的javascript运行环境,让javaScript的运行脱离浏览器服务端,可以使用javaScript语言书写服务器端代码...

    2 年前
  • 记第一次发布npm包经历,smart-import,node-command-line-tool

    故事背景 前情提要:自动 Import 工具,前端打字员的自我救赎(https://segmentfault.com/a/1190000012792016) github: smartimpor...

    2 年前

官方社区

扫码加入 JavaScript 社区