先说结论,在新版的npm,cnpm,pnpm中,该钩子无法达到预期效果,只有yarn完全支持,可以用以下代码自行测试相关包管理器
// 保存为文件pre.js
const argent = process.env.npm_config_user_agent
if (/^(npm|yarn|cnpm)\//g.test(argent)) {
console.warn('请使用pnpm安装依赖')
process.exit(1)
}
// package.json
"scripts": {
"preinstall": "node ./pre.js"
...其他script
},
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。