问题
mac 环境下在 package.json 的 scripts
属性下配置命令 "NODE_ENV=development node ./bin/www
,切换到 windows 环境下报错
‘NODE_ENV’ 不是内部或外部命令,也不是可运行的程序
原因
windows 环境不支持 NODE_ENV=XXX
命令
解决方案
- 安装 cross-env, 执行时在命令前加
cross-env
npm install -g cross-env
# 避免执行问题,建议全局安装
命令修改为如下:
cross-env NODE_ENV=development node ./bin/www
- 通过
set
命令执行该任务,即执行命令前加set
set NODE_ENV=development&& node ./bin/www
需要注意的是,如果不加反义符号 /
来设置对应的值,那么 &&
连接 设置环境 (set NODE_ENV=development
) 和 运行对应代码 (node ./bin/www
) 时一定要跟在设置后面,否则设置值后面会有空格
如:
set NODE_ENV=development && node ./bin/www
结果
NODE_ENV
的值为 development空格
linux环境设置NODE_ENV
export NODE_ENV=development