vue3.2/Vite/Ts7: 强制使用 pnpm 包管理器工具
·
Yin灏
团队项目开发的时候,需要统一包管理器工具,因为不同的包管理器工具下载同一个依赖可能版本不一样,导致项目出现 bug,因此包管理器工具需要统一管理。
在根目录下创建 scripts/preinstall.js 文件:
if (!/pnpm/.test(process.env.npm_execpath || '')) {
console.warn(
`\u001b[33mThis repository must using pnpm as the package manager ` +
` for scripts to work properly.\u001b[39m\n`
)
process.exit(1)
}
配置命令:
//...
"scripts": {
"preinstall": "node ./scripts/preinstall.js"
}
//...
当我们使用 npm 或 yarn 来安装包的时候,就会报错。原理是在 install 的时候会触发 preinstall(npm 提供的生命周期钩子)这个文件里面的代码。