npm update 不尊重 npm outdated 的结果
Posted
技术标签:
【中文标题】npm update 不尊重 npm outdated 的结果【英文标题】:npm update is not honoring the results of npm outdated 【发布时间】:2018-01-28 02:30:47 【问题描述】:我在一个项目上运行了npm outdated
- 它显示有几个过时的包。所以我跑了npm update
——它更新了一些包,但不是全部。如果我再次运行npm outdated
,它仍然会显示剩余的过期包:
Package Current Wanted Latest
babel-loader 7.1.1 7.1.1 7.1.2
babel-runtime 6.23.0 6.23.0 6.26.0
chalk 2.0.1 2.0.1 2.1.0
css-loader 0.28.4 0.28.4 0.28.5
eslint 4.2.0 4.2.0 4.5.0
eslint-plugin-react 7.1.0 7.1.0 7.2.1
fs-extra 4.0.0 4.0.0 4.0.1
html-webpack-plugin 2.29.0 2.29.0 2.30.1
material-ui 1.0.0-beta.5 1.0.0-beta.5 0.19.0
postcss-flexbugs-fixes 3.0.0 3.0.0 3.2.0
react-stripe-elements 0.0.2 0.0.2 0.0.7
webpack 3.3.0 3.3.0 3.5.5
webpack-dev-server 2.5.1 2.5.1 2.7.1
webpack-manifest-plugin 1.1.2 1.1.2 1.3.1
如果我再次尝试运行npm update
,它什么也不做!
为什么这两个命令告诉我不同的东西?
提前致谢。
【问题讨论】:
【参考方案1】:如果您运行npm update
并且package.json
中定义的某些包的版本已固定,则不会更新。这就是为什么在运行 npm outdated
时会看到三列的原因。当前安装的版本,与package.json
中定义的匹配的最新版本,最后是实际的最新版本。
【讨论】:
感谢@aherriot 的快速回复。现在很清楚了!以上是关于npm update 不尊重 npm outdated 的结果的主要内容,如果未能解决你的问题,请参考以下文章
Browserslist: caniuse-lite is outdated. Please run next command `npm update caniuse-lite browserslis
“npm update”正在安装模块的 beta 版本,而不是在“npm install”之后安装的稳定版本