【问题标题】:Something is already running on port 3000某些东西已经在端口 3000 上运行
【发布时间】:2019-04-08 17:49:18
【问题描述】:

我试图在我的本地主机上运行我的项目,但它说 某些东西已经在你的端口 3000 上运行

【问题讨论】:

标签: reactjs


【解决方案1】:

启动任务管理器,找到所有与Nodejs相关的程序/任务并停止它们。

【讨论】:

    【解决方案2】:

    您可以停止在 Nodejs 环境下运行的所有任务,以确保在 PORT 3000 上没有分配任何内容,或者您​​可以修改 package.json 的脚本部分:

    "start": "react-scripts start"
    

    "start": "PORT=3006 react-scripts start"
    

    然后在新的终端会话上运行“npm start”。

    附:第二种方法有点矫枉过正。

    【讨论】:

      【解决方案3】:

      如果您使用的是 Linux,您可以在控制台上运行以下命令:

      fuser -n tcp 3000
      

      上面的命令将返回当前正在使用该端口的程序的任务 ID。然后你将不得不运行

      kill -9 [#task]
      

      带有任务 ID。 (只需将所有 '[#task]' 替换为返回的任务 ID)

      【讨论】:

        【解决方案4】:

        在所有谷歌搜索的建议都未能解决为什么已经工作的项目开始失败的问题:

        首次运行:npm install

        然后运行:npm start 为我工作。

        【讨论】:

          【解决方案5】:

          您可以运行此命令 npx kill-port 3000 。此命令保持空您的 3000 端口

          【讨论】:

            【解决方案6】:

             

            React 上 - 您可以通过

            运行已创建的 React 单页应用程序 (SPA)

            npm start 命令。

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

            http://localhost:3000/相当于:127.0.0.1:3000地址

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

            create-react-app 包为 3000。

            当得到:“Something is already running on port 3000”失败错误消息时,您可能认为该端口被您机器上运行的另一个进程捕获,但您会发现它被永久捕获为如果它在 0.0.0.0:3000 地址上运行

            解决方案:

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

            node_modules/react-scripts/scripts/start.js

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

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

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

            并将其更改为:

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

             

            保存并再次运行您的网络应用:http://localhost:3000/ http://127.0.0.1:3000

             

             

             

            【讨论】:

              【解决方案7】:

              我知道这已经很晚了,但是如果有人遇到同样的问题可能想试试这个

              sudo kill -9 $(sudo lsof -t -i:9001)
              

              9001 是您的端口号。

              【讨论】:

                【解决方案8】:

                如果您的操作系统是 Windows,则某些进程(主要是 hyper-v)可能会通过保留一些端口范围而导致此问题

                您可以使用此命令查看您保留的端口范围

                netsh interface ipv4 show excludedportrange protocol=tcp
                

                如果您看到端口 3000 包含在保留范围列表中,您可以通过排除端口 3000 来解决问题

                排除3000端口的命令:

                net stop winnat
                netsh int ipv4 add excludedportrange tcp startport=3000 numberofports=1 store=persistent
                net start winnat
                

                那么你可能需要重启你的电脑

                【讨论】:

                  猜你喜欢
                  • 2019-04-06
                  • 2018-12-03
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2019-12-24
                  • 2018-08-07
                  • 2021-11-20
                  • 2016-05-04
                  相关资源
                  最近更新 更多