灏天阁

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 提供的生命周期钩子)这个文件里面的代码。

- Book Lists -