npm过时的输出颜色编码含义

时间:2015-07-22 09:39:02

标签: node.js git bash npm

我在mac上用bash运行git command npm outdated

请参阅下图中的输出。

有谁知道为什么前四个包用红色打印?

我猜它是因为我让他们指向我的package.json中的github repos,但为什么是红色?

这是警告吗?我应该担心吗?

谢谢。

enter image description here

4 个答案:

答案 0 :(得分:12)

依赖于Github托管的软件包时必须要小心:如果您只是指向软件包的master分支(这是添加此类依赖项时的默认分支),您可以进入当该分支更新并且它不能正常运行(它发生)或者它会破坏向后兼容性(这种情况也会发生)时会出现各种麻烦。

我认为这是npm试图告诉你的。

FWIW,当您处理Github托管的依赖项时,您应该始终在特定的commit / tag / sha中包含一个标识符。有关更多文档,请参阅this。虽然我怀疑npm也不会将这些网址标记为红色,因为任何这些标识符仍然可能无效。

编辑:也许不完全。

仔细观察它,如果安装的版本没有(semver-)匹配package.json中设置的所需版本,它将以红色显示包名称。对于Github托管的软件包,这些可能永远匹配,因此是红色。

当安装的版本与所需版本匹配时使用黄色,但NPM存储库中有更新的版本。

答案 1 :(得分:3)

  

由于SemVer ^ x.y.z插入格式,红色清楚地表明包已过期,需要升级。黄色表示包装已经过时,但升级时可能会有变化....

     

所有红色的软件包都应该先升级,然后再升级为黄色,因为可能会发生变化。

https://realguess.net/2014/12/13/update-outdated-npm-packages/

答案 2 :(得分:1)

更新-截至2019年2月27日 我遇到了同样的问题,转移到纱线上并得到了以下信息:

> yarn outdated
yarn outdated v1.13.0
info Color legend :
 "<red>"    : Major Update backward-incompatible updates
 "<yellow>" : Minor Update backward-compatible features
 "<green>"  : Patch Update backward-compatible bug fixes

...

请阅读小写字母...红色为向后兼容 Npm遵循相同的颜色语义。

与上面的答案不同,所有过时的软件包都可以更新。这是项目特定的升级策略决定。

希望有帮助

答案 3 :(得分:1)

https://docs.npmjs.com/cli-commands/outdated.html

  1. 红色表示有一个新版本符合您的semver要求,因此您应该立即进行更新。
  2. 黄色表示超出您的英语要求(通常是新的专业,或新的0.x次要),因此请谨慎行事。