首页 > 解决方案 > 更新所有全局 npm 包,除了链接的包

问题描述

有没有办法跳过更新与链接的全局包npm link?基本上,我想在npm update -g不影响可能正在开发中或不在 npm 索引中的链接包的情况下运行(这会引发错误,在这个类似的问题中看到)。

我知道我可能会在解析npm ls -g输出时做一些令人费解的事情,但我想知道我是否缺少update命令上的标志或其他东西,这似乎是一个简单解决方案的常见问题。对于npm ls首先使用的更新,这是我快速拼凑起来的:

npm ls -g | tail -n+2 | tr -d '├─└ ' | \
    sed -e '/ \-> /d' -e 's|@[0-9.]*||' | xargs npm update -g

删除第一行,去掉行字符,删除所有带有“->”的行(这些是链接的包),然后去掉包名以外的所有内容并将其提供给npm update. 对于一件简单的事情来说,这似乎太多了。

标签: node.jsnpm

解决方案


推荐阅读