我在mac上用bash运行git command npm outdated
。
请参阅下图中的输出。
有谁知道为什么前四个包用红色打印?
我猜它是因为我让他们指向我的package.json中的github repos,但为什么是红色?
这是警告吗?我应该担心吗?
谢谢。
答案 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