【发布时间】:2019-04-08 17:49:18
【问题描述】:
【问题讨论】:
标签: reactjs
【问题讨论】:
标签: reactjs
启动任务管理器,找到所有与Nodejs相关的程序/任务并停止它们。
【讨论】:
您可以停止在 Nodejs 环境下运行的所有任务,以确保在 PORT 3000 上没有分配任何内容,或者您可以修改 package.json 的脚本部分:
"start": "react-scripts start"
到
"start": "PORT=3006 react-scripts start"
然后在新的终端会话上运行“npm start”。
附:第二种方法有点矫枉过正。
【讨论】:
如果您使用的是 Linux,您可以在控制台上运行以下命令:
fuser -n tcp 3000
上面的命令将返回当前正在使用该端口的程序的任务 ID。然后你将不得不运行
kill -9 [#task]
带有任务 ID。 (只需将所有 '[#task]' 替换为返回的任务 ID)
【讨论】:
在所有谷歌搜索的建议都未能解决为什么已经工作的项目开始失败的问题:
首次运行:npm install
然后运行:npm start
为我工作。
【讨论】:
您可以运行此命令 npx kill-port 3000 。此命令保持空您的 3000 端口
【讨论】:
在 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
【讨论】:
我知道这已经很晚了,但是如果有人遇到同样的问题可能想试试这个
sudo kill -9 $(sudo lsof -t -i:9001)
9001 是您的端口号。
【讨论】:
如果您的操作系统是 Windows,则某些进程(主要是 hyper-v)可能会通过保留一些端口范围而导致此问题
您可以使用此命令查看您保留的端口范围
netsh interface ipv4 show excludedportrange protocol=tcp
如果您看到端口 3000 包含在保留范围列表中,您可以通过排除端口 3000 来解决问题
net stop winnat
netsh int ipv4 add excludedportrange tcp startport=3000 numberofports=1 store=persistent
net start winnat
那么你可能需要重启你的电脑
【讨论】: