2

我正在尝试从 npm 跳转到 pnpm。在按照此处所述进行更改后,我发现了一个有用的提示,可以避免运行“npm install”:https ://pnpm.js.org/en/only-allow-pnpm

不幸的是,我的预安装生命周期覆盖没有被执行。似乎很简单,但是当我运行“npm install @types/jest”之类的东西时,npm install 仍然有效

包.json:

{
  "name": "react-sandbox",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "preinstall": "npx only-allow pnpm"
  }
}

npm 版本 6.14.2。

有任何想法吗?

4

1 回答 1

1

不幸的是,该preinstall脚本仅在无参数安装期间执行。因此,当您运行时npm add @types/jest,该脚本将不会被执行,因此不会阻止 npm 运行。

但是运行时会失败npm install

到目前为止,没有其他方法可以阻止 npm 执行。

于 2020-08-03T23:07:52.503 回答