Rimraf:找不到 Glob 依赖项。你如何在 cli 中设置 `disableGlob=true`?

Rimraf: Glob dependency not found. How do you set `disableGlob=true` in the cli?

我正在尝试将我的 nestjs 部署到 Heroku 上,每当它从 package.json 运行 prebuild: rimraf dist 命令时都会遇到此错误。我不知道 glob 是什么,但我假设我不需要它...在 cli/scripts 中设置 disableGlob = true 的语法是什么?

当前错误:

/tmp/build_ceb6e44a/node_modules/rimraf/rimraf.js:42
    throw Error('glob dependency not found, set `options.disableGlob = true` if intentional')
    ^
Error: glob dependency not found, set `options.disableGlob = true` if intentional
    at defaults (/tmp/build_ceb6e44a/node_modules/rimraf/rimraf.js:42:11)
    at rimraf (/tmp/build_ceb6e44a/node_modules/rimraf/rimraf.js:60:3)
    at go (/tmp/build_ceb6e44a/node_modules/rimraf/bin.js:44:3)
    at Object.<anonymous> (/tmp/build_ceb6e44a/node_modules/rimraf/bin.js:68:3)
    at Module._compile (node:internal/modules/cjs/loader:1099:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:975:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)
    at node:internal/main/run_main_module:17:47
Node.js v17.9.0

注意:Heroku 在部署时正在安装 node 17.9.0 以防万一

package.json

{
  "scripts": {
    "rimraf": "./node_modules/rimraf/bin.js",
    "prebuild": "rimraf dist"
  },
  "dependencies": {
    "glob": "^7.2.0",
    "rimraf": "^3.0.2"
  }
}

我尝试了以下所有方法都没有成功

"prebuild": "rimraf -o disableGlob=true dist"
"prebuild": "rimraf --options disableGlob=true dist"
"prebuild": "rimraf options.disableGlob=true dist"

我也安装了 glob 作为依赖项,但它仍然出错。有帮助吗?

错误消息中有关设置选项的说明适用于将 rimraf 作为 JavaScript[=24 中的 模块 使用=].

由于您使用的是 rimraf CLI,因此您需要使用 CLI 的等效项,即 -G (--noglob ) 选项(发现带有 rimraf --help 的所有选项):

"prebuild": "rimraf -G dist"