Node.js 在Windows 10中设置环境变量package.json

Node.js 在Windows 10中设置环境变量package.json,node.js,Node.js,更新:正如问题中所解释的,这不是重复的,因为我已经尝试在环境变量之前添加set关键字,但没有解决问题 我正在学习node并从书中键入示例。第一个示例介绍“http”模块如何工作以及如何创建一个服务器来侦听请求。本书要求在package.json文件的scripts部分添加以下行: “服务器”:“SERVERPORT=3002节点。/fiboserver” 当我尝试使用npm run server运行示例时,我收到以下错误消息: “SERVERPORT”未被识别为内部或外部命令 我在互联网上找不

更新:正如问题中所解释的,这不是重复的,因为我已经尝试在环境变量之前添加set关键字,但没有解决问题


我正在学习node并从书中键入示例。第一个示例介绍“http”模块如何工作以及如何创建一个服务器来侦听请求。本书要求在package.json文件的scripts部分添加以下行:

“服务器”:“SERVERPORT=3002节点。/fiboserver”

当我尝试使用npm run server运行示例时,我收到以下错误消息:

“SERVERPORT”未被识别为内部或外部命令

我在互联网上找不到任何答案,最多我发现我可以试试:

“服务器”:“设置SERVERPORT=3002节点。/fiboserver”

但这也没有帮助,唯一的区别是,我再次收到的不是错误消息,而是命令提示符,因此显然服务器从未运行过

我相信作者使用的是Linux机器,我使用的是Windows10笔记本电脑

我真的致力于学习Node,我的工作范围是Windows环境。我相信在package.json上设置环境变量很重要,所以我真的需要一些帮助来解决这个问题


谢谢。

在Windows上,您必须将设置变量的命令与使用
&&
运算符运行服务器的命令分开。 也就是说,你必须这样做:


“服务器”:“设置SERVERPORT=3002&&node./fiboserver”

通过使用以下各项实现跨平台:

我已经通过并使用了以下方法之一


方法1 如果我运行(不使用npm包装器脚本)

它很好用。正如昆廷所说

一定是因为npm是如何脱颖而出的

为了修复它,我转到package.json并将“start”脚本更改为

"start": "./node_modules/.bin/react-scripts start",
然后,
npm启动
工作正常


方法2 使用软件包

为此,请使用以下命令安装它

npm i cross-env
然后转到package.json并将其更改为

"start": "cross-env ./node_modules/.bin/react-scripts start",
然后运行
npm start
也可以正常工作:


也许您应该用&&符号分隔命令
set SERVERPORT=3002&&node./fiboserver
可能与@Ibrahim重复-谢谢。成功了。你能添加一个答案,这样我就可以将它设置为正确的解决方案吗?@Simon-Hi。我不认为这是你提议的重复,因为答案只是在变量之前使用“set”,而当我试图证明它不起作用时。@SergioRomero嗨,我不同意。如果你看这些评论,答案就出来了。
npm i cross-env
"start": "cross-env ./node_modules/.bin/react-scripts start",