当我在反应应用程序启动时,继续得到“?已经在端口3000上运行的东西”

时间:2018-02-28 05:46:35

标签: javascript macos npm terminal server

当我在我的端口3000上没有运行任何东西时启动我的反应服务器时,我一直在“终端3000上已经运行了什么东西”的消息

我试图解决的问题:

  1. 重新启动macOS。
  2. 在Chrome浏览器上查看我的“http://localhost:3000”。 (没有:无法访问此站点)
  3. 转到chrome:// serviceworker-internals和chrome:// appcache-internals,搜索localhost:3000(找不到任何内容)
  4. 我还尝试了几乎所有关于此问题的Google上的命令行
  5. 我还创建了另一个express.js应用程序,它在端口:3000上成功启动,而React说3000上运行了一些东西。在我的计算机上反应,只是一直认为端口上有东西运行:3000 ... < / LI>

    terminal

    Chrome

11 个答案:

答案 0 :(得分:13)

如果您是 Windows 用户,可以尝试使用

npx kill-port 3000

在您的控制台中。我遇到了同样的问题,它对我有用。

不确定 MAC。

答案 1 :(得分:5)

打开cmd并写下

  

netstat -a -o -n

您将获得有效连接列表,然后点击

找到 3000
  

Cntrl + f

enter image description here

复制该端口的PID并点击此命令

  

taskkill / F / PID PID_of_port

enter image description here

修改  本指南适用于Windows。

答案 2 :(得分:2)

从任务管理器中杀死Node.Js进程。

第1步:点击ctrl + shift + delete

,打开任务管理器。

第2步:打开“过程”标签

第3步:搜索Node.JS进程,然后右键单击该进程,然后单击“结束任务”

第4步:现在您可以重新开始。

enter image description here

答案 3 :(得分:1)

从后台进程中杀死node.js。那会掩盖这个探针。或者,您可以重新启动系统

答案 4 :(得分:1)

我已经坚持了几个小时,最后我找到了解决方案 在主机文件中没有正确映射到本地主机,并且与端口没有任何关系,例如

10.2.224.130    localhost 

只需将其更改回

127.0.0.1        localhost 

主机文件位置 https://www.howtogeek.com/howto/27350/beginner-geek-how-to-edit-your-hosts-file/

答案 5 :(得分:0)

正如@khurram khan建议的那样,终止过程可能是您的最佳选择,这在Linux上对我有用:

$ lsof -i tcp:3000
$ kill -9 PID

第一个命令应该为您提供PID号,以便在第二个命令中输入PID。

答案 6 :(得分:0)

这很简单。您可以通过2个简单的步骤对其进行修复。

  1. 检查环境变量是否存在名称为“ PORT”的键/条目。
  2. 如果找到,则删除该条目或将其重命名为其他名称。

事实证明,其他一些程序正在使用该变量。通常,当您启动react-scripts时,它将查找标题为PORT的环境变量。

答案 7 :(得分:0)

日期:2020年10月7日星期六
Windows :Microsoft Windows 10 Pro内部版本19041
节点:12.16.1
NPM :6.14.8

我在Windows机器上发生了类似的事情。在StackOverflow和其他地方尝试了很多建议。

就我而言,我遵循的是video course,建议在创建新的React应用时添加--script-version 1.1.5(如下所示)。

create-react-app app-name --scripts-version 1.1.5

以下是package.json脚本版本:
反应:17.0.1
反应DOM :17.0.1
反应脚本:1.1.5

运行命令npm start并键入y尝试使用其他端口后,终端将一直停留在被取消状态。

enter image description here

然后,我创建了一个没有--scripts-version 1.1.5的新React应用,尝试运行后,它仍然运行在Something is already running on port 3000中,但是键入y后,该应用将在没有问题的情况下运行一个不同的端口。

enter image description here

这是package.json脚本版本(成功运行时):
反应:17.0.1
反应Dom :17.0.1
反应脚本:4.0.0

答案 8 :(得分:0)

从您在 localhost:3000 上看不到任何内容的原因开始,是因为必须在该端口上运行适当的 web 应用程序或网站/服务器,但是 port:3000 当前正在运行某个进程,而不是服务器/站点/应用程序。

顺便说一下,根据您的操作系统类型,很容易检查端口:3000 上是否有实际进程。对于 MacOS,打开 终端 并运行 sudo lsof -i ':3000' 将列出端口 3000 上的当前进程。 请注意,我们需要以 sudo 或 root 身份运行命令

一旦您看到正在运行的进程,请记下 PID 并运行 kill -9 {PID},这应该会终止带有 PID 的进程(即 port:3000 上的破坏性进程)。现在执行 npm start 应该可以在 localhost:3000

上构建、编译和提供您的应用

可能发生的大部分情况是您有一个 npm start 正在运行,您要么中断,要么在前台关闭。在您的终端中执行 fg 将打开任何后台任务,因此如果这打开了一个 npm start 实例,则是该进程停止了您的流程。然后,您可以正确结束会话,确保 port:3000 上的所有进程都已终止。

快乐编码

答案 9 :(得分:0)

如果你在Linux上,你可以试试

pkill -f node

终止进程

答案 10 :(得分:-4)

React 上-您可以运行已创建的React单页应用程序(SPA),

npm start 命令。

这可能会启动您的本地托管开发服务器并在以下位置运行您的应用程序:

http:// localhost:3000 / ,它等效于: 127.0.0.1:3000 地址

127.0.0.1 是默认的localhost IP号,而默认端口号是由

设置的

create-react-app 软件包为 3000。

获取:“端口3000上已经有东西运行”失败错误消息,您可能认为该端口已由计算机上运行的另一个进程捕获,但您会发现该端口已永久捕获为如果它在0.0.0.0:3000地址上运行

解决方案:

在由 create-react-app 脚本创建的项目库中,导航至:

node_modules / react-scripts / scripts / start.js

在运行 npm start 命令时-正在调用并执行 start.js 脚本

在编辑器中的 start.js文件中找到上面的行:

constHOST == process.env.HOST ||| '0.0.0.0';

并将其更改为:

constHOST == process.env.HOST ||| '127.0.0.1';

通过以下网址保存并再次运行您的Web应用程序: http://localhost:3000/ http://127.0.0.1:3000