next.js “NODE_OPTIONS”未被识别为内部或外部命令-仍是一个问题

a0x5cqrl  于 2023-03-18  发布在  其他
关注(0)|答案(3)|浏览(270)

我正在按照here的指南在nextjs应用程序上使用VSCode。
它说使用脚本:“开发”:“节点选项='--检查'下一个开发”
这导致:
“NODE_OPTIONS”未被识别为内部或外部命令、可操作程序或批处理文件。
是的,我知道已经有一个同名的问题,但它是2.5岁,有8 k的意见和没有接受的答案。我无法评论添加信息到它。请随时标记为重复,但请至少在另一个问题的评论中链接它。
其中一个答案是建议安装另一个(维护模式)依赖项,并配置它以更改环境变量。
这项研究和其他研究让我相信这里的环境变量有问题。我不能手动设置它们吗?为什么在官方的下一个指南中没有提到这一点?我如何设置正确的环境变量?

llycmphe

llycmphe1#

有一种方法可以让它工作,你可以找到一个类似的问题张贴here

步骤1

npm i cross-env --save-dev

步骤2

编辑package.json,使dev选项如下所示

{
      "scripts": {
        "dev": "cross-env NODE_OPTIONS='--inspect' next dev",
        "build": "next build",
        "start": "next start"
      }
    }

步骤3

现在你可以在一个单独的终端启动你的NextJS程序了。然后按照NextJS VSCode调试说明进行操作。将VSCode附加到正在运行的NextJS示例。
一切就绪。

jogvjijk

jogvjijk2#

也许这能帮我们
在Windows上调试
Windows用户在使用NODE_OPTIONS ='--inspect'时可能会遇到问题,因为Windows平台不支持该语法。要解决此问题,请将跨环境包作为开发依赖项安装(NPM为--dev,Yarn为-D),并将dev脚本替换为以下内容。
“设备”:“跨环境节点选项='--检查'下一个设备”,
cross-env将设置NODE_OPTIONS环境变量,而不管您使用的是哪个平台(包括Mac、Linux和Windows),并允许您跨设备和操作系统进行一致的调试。

93ze6v8z

93ze6v8z3#

无跨环境,在Windows上本机运行

任何当前版本的Windows(这些都使用Powershell)的正确语法是:

$env:NODE_OPTIONS="INSPECT"

让Linux指令正常工作

安装WSL,这样就可以在npm中使用bash、Linux节点、Linux二进制文件等。

相关问题