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

时间:2016-11-25 14:05:30

标签: node.js

更新 :正如问题所述,这不是重复,因为我已经尝试添加设置环境变量之前的关键字并没有解决问题。

我正在学习节点并从书中输入示例。第一个示例涉及显示“http”模块如何工作以及如何创建服务器来侦听请求。在某些时候,本书要求将以下行添加到package.json文件的scripts部分:

  

“server”:“SERVERPORT = 3002 node ./fiboserver”

当我尝试使用 npm运行服务器运行示例时,出现以下错误消息:

  

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

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

  

“server”:“设置SERVERPORT = 3002 node ./fiboserver”

但这也没有帮助,唯一的区别是,我没有再次收到命令提示,而是显示服务器永远不会运行。

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

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

谢谢。

3 个答案:

答案 0 :(得分:8)

使用cross-env

使其跨平台

"server": "cross-env SERVERPORT=3002 node ./fiboserver"

答案 1 :(得分:4)

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

"server": "set SERVERPORT=3002 && node ./fiboserver"

答案 2 :(得分:2)

我经历过the same problem,并使用了以下方法之一。


方法1

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

HOST=0.0.0.0 PORT=8000 ./node_modules/.bin/react-scripts start

Starting the development server...

工作正常。正如昆汀所说,

那一定与npm的炮弹方式有关

要解决此问题,我转到package.json并将“开始”脚本更改为

"start": "./node_modules/.bin/react-scripts start",

然后npm start正常工作。


方法2

使用cross-env软件包。

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

npm i cross-env

然后转到package.json并将其更改为

"start": "cross-env ./node_modules/.bin/react-scripts start",

然后运行npm start也可以正常工作:

cross-env npm start