【问题标题】:JSDocs (better docs) 'NODE_ENV' is not recognized as an internal or external command, operable program or batch fileJSDoc (betterdocs) 'NODE_ENV' 不是内部或外部命令、可运行程序或批处理文件
【发布时间】:2020-06-05 23:12:34
【问题描述】:

我正在尝试使用他们的官方tutorial from github 使用组件插件配置更好的文档

由于某种原因,我收到了一个奇怪的错误。

Parsing D:\Projects\train-time\src\stories\StoryContainer.tsx ...
Generating output files...
Generating entry file for "components" plugin
Bundling components
running: NODE_ENV=development parcel build docs\entry.js --out-dir docs\build
'NODE_ENV' is not recognized as an internal or external command,
operable program or batch file.

D:\Projects\train-time\node_modules\better-docs\bundler.js:91
    throw error
    ^

Error: Command failed: NODE_ENV=development parcel build docs\entry.js --out-dir docs\build
'NODE_ENV' is not recognized as an internal or external command,
operable program or batch file.

    at checkExecSyncError (child_process.js:630:11)
    at execSync (child_process.js:666:15)
    at bundle (D:\Projects\train-time\node_modules\better-docs\bundler.js:86:5)
    at Object.exports.publish (D:\Projects\train-time\node_modules\better-docs\publish.js:699:3)
    at Object.module.exports.cli.generateDocs (D:\Projects\train-time\node_modules\jsdoc\cli.js:441:39)
    at Object.module.exports.cli.processParseResults (D:\Projects\train-time\node_modules\jsdoc\cli.js:392:24)
    at module.exports.cli.main (D:\Projects\train-time\node_modules\jsdoc\cli.js:235:18)
    at Object.module.exports.cli.runCommand (D:\Projects\train-time\node_modules\jsdoc\cli.js:186:9)
    at D:\Projects\train-time\node_modules\jsdoc\jsdoc.js:93:9
    at Object.<anonymous> (D:\Projects\train-time\node_modules\jsdoc\jsdoc.js:94:3)
    at Module._compile (internal/modules/cjs/loader.js:1138:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1158:10)
    at Module.load (internal/modules/cjs/loader.js:986:32)
    at Function.Module._load (internal/modules/cjs/loader.js:879:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
    at internal/main/run_main_module.js:17:47 {
  status: 1,
  signal: null,
  output: [
    null,
    <Buffer >,
    <Buffer 27 4e 4f 44 45 5f 45 4e 56 27 20 69 73 20 6e 6f 74 20 72 65 63 6f 67 6e 69 7a 65 64 20 61 73 20 61 6e 20 69 6e 74 65 72 6e 61 6c 20 6f 72 20 65 78 74 ... 49 more bytes>
  ],
  pid: 2928,
  stdout: <Buffer >,
  stderr: <Buffer 27 4e 4f 44 45 5f 45 4e 56 27 20 69 73 20 6e 6f 74 20 72 65 63 6f 67 6e 69 7a 65 64 20 61 73 20 61 6e 20 69 6e 74 65 72 6e 61 6c 20 6f 72 20 65 78 74 ... 49 more bytes>
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! train-time.com@1.0.0 doc: `jsdoc -c jsdoc.json`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the train-time.com@1.0.0 doc script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

有谁知道这个错误是什么意思以及来自 NODE_ENV 的位置?我没有在项目中使用任何 NODE_ENV

【问题讨论】:

  • 研究“不被识别为内部或外部命令...” - 这不是您在 Windows 上设置环境变量的方式。 “我没有使用任何 NODE_ENV” - 正在运行的命令是 NODE_ENV=development parcel build docs\entry.js --out-dir docs\build

标签: javascript reactjs typescript jsdoc


【解决方案1】:

该脚本的创建者假设您使用的是 sh 类 shell,例如 bashzsh; Windows shell 显然不兼容以这种方式设置环境变量。

我建议安装 cross-env 作为开发依赖项。这允许您以类似于设置变量的类 sh 模式的跨平台方式设置环境变量。例如,在package.json 脚本中:

"build": "cross-env NODE_ENV=development parcel build docs\entry.js --out-dir docs\build"

【讨论】:

    猜你喜欢
    • 2012-08-09
    • 1970-01-01
    • 2018-08-25
    • 2014-06-01
    • 2022-01-06
    • 2016-07-07
    • 2021-12-20
    • 2016-12-03
    相关资源
    最近更新 更多