问题描述

PS E:\AWorkDataease\DataEase\core\core-frontend> npm run dev

‘NODE_OPTIONS’ 不是内部或外部命令,也不是可运行的程序
或批处理文件。

解决方案

遇到 'NODE_OPTIONS' 不是内部或外部命令,也不是可运行的程序或批处理文件。的问题,通常是因为Windows命令行(cmd)或PowerShell不像Unix或Linux的shell那样处理环境变量。这里有几种解决方法:

方法1:使用Windows的设置环境变量方式

  1. 对于cmd:可以使用set命令设置环境变量,然后运行vite命令。例如:
set NODE_OPTIONS=--max_old_space_size=4096 && vite --mode dev --host 0.0.0.0
  1. 对于PowerShell:PowerShell使用不同的语法来设置环境变量。你可以使用$env:来设置,例如:
$env:NODE_OPTIONS="--max_old_space_size=4096"; vite --mode dev --host 0.0.0.0

方法2:修改package.json文件

你可以直接在package.json中修改dev脚本,以兼容Windows。可以使用cross-env工具,这是一个跨平台设置环境变量的Node.js工具。

首先,安装cross-env

npm install --save-dev cross-env

然后,修改package.json中的dev脚本如下:

"scripts": {
  "dev": "cross-env NODE_OPTIONS=--max_old_space_size=4096 vite --mode dev --host 0.0.0.0"
}

这样修改后,npm run dev命令应该能在Windows上正常工作,而且cross-env使得这个命令在Linux和macOS上也能正常工作。

方法3:全局设置环境变量(Windows)

你还可以在Windows的系统环境变量中添加NODE_OPTIONS,这样就不需要在每次运行命令时设置它了。但是,这会影响到系统中所有Node.js进程的内存限制,所以请根据实际情况谨慎使用。

  1. 搜索并打开“系统环境变量”编辑界面。
  2. 在“系统变量”区域点击“新建”。
  3. 变量名填写NODE_OPTIONS,变量值填写--max_old_space_size=4096
  4. 点击确定保存。

重启你的命令行工具后,更改将生效。使用这种方法,你就不需要在命令行中每次都设置环境变量了。
npm run dev运行出现NODE_OPTIONS=--max_old_space_size=4096 vite --mode dev --host?-LMLPHP

02-20 06:14