为什么NodeJS在macOS Monterey上无法工作?

3
为什么macOS Monterey上的控制中心在监听端口5000?我正在使用nodeJS进行工作项目,但无法在默认端口(即5000)上启动节点。

3
开发时为什么不使用其他端口?Node并不一定需要特别使用5000端口。如果还没有可配置选项,那么应该很容易进行配置。 - Karl-Johan Sjögren
2个回答

8

我找到了解决方法! 只需在“系统偏好设置”->“共享”中禁用“Airplay接收器”,端口5000将再次释放。 由于某种原因,在 Monterey 中,Airplay 接收器使用与 nodeJS 相同的 5000 端口。 Airplay 设置


3
Node.js 不会“使用”任何端口。如果有的话,大多数 Node 项目倾向于使用端口 3000,但这并不是由 Node.js 引起的,而是由编写这些项目代码的人做出的决定。使用端口 5000 的是“你的代码”。 - slebetman
3
完全同意,但99%的情况下,默认节点项目会在5000端口启动,我认为这篇文章可能对某些人有用 :) - MDalprato
默认节点项目是什么意思?Node.js 的项目默认指向一个空文件夹。尝试创建一个项目,运行npm init。它只会创建一个 package.json 文件。Node 不会为其项目默认使用任何端口,因为它不会假设你将编写网络服务器。我的许多项目只是扫描文件系统并处理一些文件的脚本而已。大多数在线下载的 Node.js 项目示例都使用端口号3000,而不是5000(就个人而言,我不知道为什么,人们应该使用8080作为 http 服务器的默认示例端口)。 - slebetman
也许问题的标题更准确地应该是“为什么Arteco Global项目在Mac OS Monterey上无法工作”? - slebetman
3
在微服务/迷你服务架构中开发时,项目运行在不同端口上非常正常。8080 / 8000 是后端服务的默认端口,3000 / 4000 / 5000 在本地托管前端的 nodejs 服务器中非常常见。 当然,你可以更改端口,但如果一个新的系统服务运行在这些端口之一上,即使这是合理的,也很容易感到困惑。 - OllyTheNinja

0
这个问题与Node无关,大多数只是浪费那些真正面临Node无法在Monterey上运行问题的人的时间。应该删除。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接