在脚本中,我想验证node_modules/
的内容是否与package-lock.json
中定义的内容相对应,或者是否需要(昂贵的(npm ci
。
我想我也许可以运行npm install --dry-run
并解析以下行:
added 670 packages, removed 390 packages, updated 421 packages and audited 101551 packages in 16.337s
但这似乎很脆弱。
有没有更好的方法可以做到这一点?
仅显示node_modules
内容与package-lock.json
的差异(如果有(:
npm list 2> /dev/null | grep 'invalid: "'
2> /dev/null
将npm list
的错误静音,然后将稍微可读性稍强的标准输出作为有限的差异列表进行 grep
。我更喜欢 grep 标准输出,因为错误输出不报告package-lock.json
版本,我发现它是一个有价值的参考,一目了然。
npm list 2>&1 | grep -E '^npm ERR! w+: '