现在主流的包管理器有npm、cnpm、yarn、pnpm,项目小组内因为使用的包管理器不同,经常会在安装依赖时出现各种问题,在这情况下可以用only-allow工具去强制约束。
应用
当执行npm install命令时,就会先执行工程自身的preinstall钩子。在package.json中添加以下代码,表示只允许使用 pnpm 来进行安装。
目前支持设置:npm | yarn | pnpm
"scripts": {
// ... 其他命令
"preinstall": "npx only-allow pnpm"
}
以下例子为设置只允许用pnpm安装后,输入npm安装命令的反馈。
拓展
npm 提供了两种钩子,pre 和 post,代表操作前和操作后。较常见在 build 和 install 处,prebuild,postbuild,preinstall,postinstall。