我正在按照更新全局包的步骤进行操作,所以我执行了npm outdated -g --depth=0
并得到:
Package Current Wanted Latest Location
typescript 2.2.2 2.2.2 2.4.1
然后,我执行了npm update -g
,但我仍然从npm outdated -g --depth=0
获得相同的输出。
执行npm list -g --depth=0
还会确认打字稿包尚未更新到 2.4.1:
+-- bower@1.8.0
+-- gulp@3.9.1
+-- typescript@2.2.2
`-- typings@2.1.1
我错过了什么?
您将不得不使用此脚本或似乎一一执行。
此全局更新是已知的突破点。 这是对此问题的引用。他们似乎在没有解决问题的情况下关闭了它
您还可以安装特定版本:
npm install -g typescript@2.4.1
到目前为止,还没有一个简单的命令可以做到这一点。
您可以改用以下步骤来查找过时的软件包并逐个更新它们。
确定哪些全局包需要更新:若要查看需要更新哪些全局包,请在命令行上运行:
npm outdated -g --depth=0
更新单个全局包:要更新单个全局包,请在命令行上运行:
npm update -g <package_name>
要在单个命令中将所有全局包自动更新到"最新"版本,请执行以下操作:
npx npm-check --global --update-all
这会将所有全局包更新到"最新"版本。有关 npm 检查的更多信息,包括执行交互式更新、排除包等的能力。
相反,npm update -g
仅将全局软件包更新为npm outdated --global
显示的"所需"版本,因为全局安装的软件包被视为使用指定的插入符号 semver 范围安装
最后,如果您碰巧想要将软件包更新(安装(到"最新"或"需要">以外的版本:
npm install --global <pkg>@<version>