先说论断,在新版的npm,cnpm,pnpm中,该钩子无奈达到预期成果,只有yarn齐全反对,能够用以下代码自行测试相干包管理器

// 保留为文件pre.jsconst argent = process.env.npm_config_user_agentif (/^(npm|yarn|cnpm)\//g.test(argent)) {  console.warn('请应用pnpm装置依赖')  process.exit(1)} 
// package.json"scripts": {     "preinstall": "node ./pre.js"    ...其余script},
相干文章
  1. issue
  2. NPM preinstall 不同版本的差别