使用“npm install”时如何发出警告或错误

Jo *_*iss 4 pnpm

pnpm 用作pnpm-lock.yaml其锁定文件。我希望它能够编写package-lock.json以实现与 npm 的互操作性,但这似乎不可能

因此,当协作者意外地运行npm install而不是pnpm install运行时,我想打印一条警告,或者更好的是,退出并出现错误,通知他们使用pnpm。有没有更好的方法来做到这一点?

Joh*_*ohn 6

这可以使用only-allowonly-allow-enginesonly-pnpm等包来完成。这些通常通过预安装脚本或(ab)使用"engines"package.json 中的属性来工作。

Node.js 项目正在研究更好的解决方案:corepack。Corepack 将允许项目通过 package.json 的属性指定所需的包管理器"packageManager"。然而,截至 2022 年,corepack 仍处于实验阶段,需要明确的选择加入步骤 ( corepack enable)。除非您可以依赖所有协作者都启用它,否则它还不是一个可行的解决方案。