npm
2023年2月20日大约 1 分钟
npm
node 的默认包管理器。
自从学了 pnpm 后,就再也没有使用过 npm 了。
清空缓存
怎么清空项目的 node 缓存的?是用npm cache clean --force
还是npm cache verify
?
怎么清空项目的本地缓存?像这样的东西用什么命令可以快速清空?
输出全局安装的依赖包 npm ls -g
指定为 json 格式输出
npm ls -g --json=true
查询指定深度,目前仅查询第一层即可。
npm ls -g --json=true --depth=0
funding ?
90 packages are looking for funding
run `npm fund` for details
npm 包怎么标记自己为 looking for funding ?
TODO: 如果自己也想让自己的包标记为 funding,对外宣布这些依赖包寻求资助,该怎么实现呢?
与 2023-07-04 号标记的待办任务。现在(2024-10-11)有能力发包了,标记依赖包寻求资助是很容易的。小事情,有空就做。
Life Cycle Scripts
npm 命令的生命周期
我们经常使用的 preinstall 就是一个生命周期脚本。可以用此命令来约束整个项目,常见用法是用此命令来约束项目的包管理器。
比如以下常见配置:
{
"scripts": {
"preinstall": "npx only-allow pnpm"
},
"packageManager": "pnpm@8.12.0"
}
快速查询包的版本和相关信息
快速地使用命令行查询包的信息,避免直接在浏览器内访问 npm 官网,查询比较慢。
npm v you-package-name
举例
npm v vercel
# pnpm也能够支持该命令简写
pnpm v vercel