错误 运行 NPM http-server 未指定 $PORT
Error running NPM http-server with unspecified $PORT
在 NPM package.json 中,以下行应启动本地服务器:
...
"start": "npx http-server .out -p $PORT",
...
我收到一个错误,我认为 $PORT 无法创建或找到它应该用于我的本地服务器的端口:
The value "{ port: true, host: '0.0.0.0' }" is invalid for option "options"
当我 运行 NPM 启动命令为服务器定义端口时(或通过在 package.json 中手动定义端口来执行相同操作)本地服务器 运行s就好了:
PORT=3000 npm run start
为什么 package.json 中的 $PORT 本身不能识别要使用的端口并启动服务器?我如何在我的本地机器上解决这个问题?
$PORT
是一个环境变量。如果您不设置它,它不起作用的原因是因为那是编写代码的方式。 ¯\(ツ)/¯
您可以通过更改起始条目来分配默认值:
"start": "npx http-server .out -p ${PORT:-0}",
我给了默认值 0
但你可以使用任何你想要的。 0
似乎被 http-server
忽略,然后 http-server
使用其自己的默认值 8080
。 (在 Node.js 核心中,0
通常意味着“给我一个可用的端口,我不在乎哪个端口”,但在这里不是这样。)
如果您只想自己解决这个问题并且不想修改 package.json
,您可以在 shell rc 文件中设置 $PATH
。文件名和操作方法会因 shell 而有所不同,但典型的文件名可能是 bash
,在这种情况下,起始文件可能是 ~/.bashrc
,您需要添加一个像 export PORT=3000
这样的行。您需要打开一个新的 shell 或 运行 和 .bashrc
(同样,因 shell 而异,可能是 source ~/.bashrc
或可能是 . ~/.bashrc
).
在 NPM package.json 中,以下行应启动本地服务器:
...
"start": "npx http-server .out -p $PORT",
...
我收到一个错误,我认为 $PORT 无法创建或找到它应该用于我的本地服务器的端口:
The value "{ port: true, host: '0.0.0.0' }" is invalid for option "options"
当我 运行 NPM 启动命令为服务器定义端口时(或通过在 package.json 中手动定义端口来执行相同操作)本地服务器 运行s就好了:
PORT=3000 npm run start
为什么 package.json 中的 $PORT 本身不能识别要使用的端口并启动服务器?我如何在我的本地机器上解决这个问题?
$PORT
是一个环境变量。如果您不设置它,它不起作用的原因是因为那是编写代码的方式。 ¯\(ツ)/¯
您可以通过更改起始条目来分配默认值:
"start": "npx http-server .out -p ${PORT:-0}",
我给了默认值 0
但你可以使用任何你想要的。 0
似乎被 http-server
忽略,然后 http-server
使用其自己的默认值 8080
。 (在 Node.js 核心中,0
通常意味着“给我一个可用的端口,我不在乎哪个端口”,但在这里不是这样。)
如果您只想自己解决这个问题并且不想修改 package.json
,您可以在 shell rc 文件中设置 $PATH
。文件名和操作方法会因 shell 而有所不同,但典型的文件名可能是 bash
,在这种情况下,起始文件可能是 ~/.bashrc
,您需要添加一个像 export PORT=3000
这样的行。您需要打开一个新的 shell 或 运行 和 .bashrc
(同样,因 shell 而异,可能是 source ~/.bashrc
或可能是 . ~/.bashrc
).