地址已被 puma-dev 使用
Address already in use for puma-dev
问题
每当我尝试 运行
bundle exec puma -C config/puma.rb --port 5000
我不断得到
bundler: failed to load command: puma (/Users/ogirginc/.asdf/installs/ruby/2.7.2/bin/puma)
Errno::EADDRINUSE: Address already in use - bind(2) for "0.0.0.0" port 5000
尝试过的东西
我已经尝试了所有我能想到或读到的东西。这是列表:
1.好老重启mac.
- 没有。
2。找到PID杀掉。
- 运行
lsof -wni tcp:5000
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
ControlCe 6071 ogirginc 20u IPv4 0x1deaf49fde14659 0t0 TCP *:commplex-main (LISTEN)
ControlCe 6071 ogirginc 21u IPv6 0x1deaf49ec4c9741 0t0 TCP *:commplex-main (LISTEN)
用sudo kill -9 6071
杀死。
当我杀死它时,它会以新的 PID 重新启动。
> lsof -wni tcp:5000
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
ControlCe 6071 ogirginc 20u IPv4 0x1deaf49fde14659 0t0 TCP *:commplex-main (LISTEN)
ControlCe 6071 ogirginc 21u IPv6 0x1deaf49ec4c9741 0t0 TCP *:commplex-main (LISTEN)
3。使用HTOP寻杀
- 过滤
puma
.
- 找到匹配项。
PID USER PRI NI VIRT RES S CPU% MEM% TIME+ Command
661 ogirginc 17 0 390G 6704 ? 0.0 0.0 0:00.00 /opt/homebrew/bin/puma-dev -launchd -dir ~/.puma-dev -d localhost -timeout 15m0s -no-serve-public-paths
- 用
sudo kill -9 661
杀死它。
- 使用新的 PID 重新启动。
附加信息
- rails 版本为
5.2.6
.
- puma 版本为
4.3.8
。
- puma-dev 版本为
0.16.2
。
- 这里是 puma-dev 的日志:
2021/10/26 09:48:14 Existing valid puma-dev CA keypair found. Assuming previously trusted.
* Directory for apps: /Users/ogirginc/.puma-dev
* Domains: localhost
* DNS Server port: 9253
* HTTP Server port: inherited from launchd
* HTTPS Server port: inherited from launchd
! Puma dev running...
感觉好像遗漏了一些明显的东西。 可能是由于对 puma-dev
. 的一些关键部分和较低部分缺乏理解,如果能通过一些简单的解释解决这个问题,我将不胜感激。提前致谢! :)
为什么
嗯,这很有趣。我之前没有想到要搜索 lsof
的 COMMAND
列。
事实证明,ControlCe
表示“控制中心”,从 Monterey 开始,macOS 默认监听端口 5000
和 7000
。
解决方案
- 转到系统偏好设置 > 共享
- 取消选中
AirPlay Receiver
。
- 现在,您应该可以像往常一样重新启动
puma
。
问题
每当我尝试 运行
bundle exec puma -C config/puma.rb --port 5000
我不断得到
bundler: failed to load command: puma (/Users/ogirginc/.asdf/installs/ruby/2.7.2/bin/puma)
Errno::EADDRINUSE: Address already in use - bind(2) for "0.0.0.0" port 5000
尝试过的东西
我已经尝试了所有我能想到或读到的东西。这是列表:
1.好老重启mac.
- 没有。
2。找到PID杀掉。
- 运行
lsof -wni tcp:5000
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
ControlCe 6071 ogirginc 20u IPv4 0x1deaf49fde14659 0t0 TCP *:commplex-main (LISTEN)
ControlCe 6071 ogirginc 21u IPv6 0x1deaf49ec4c9741 0t0 TCP *:commplex-main (LISTEN)
用
sudo kill -9 6071
杀死。当我杀死它时,它会以新的 PID 重新启动。
> lsof -wni tcp:5000
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
ControlCe 6071 ogirginc 20u IPv4 0x1deaf49fde14659 0t0 TCP *:commplex-main (LISTEN)
ControlCe 6071 ogirginc 21u IPv6 0x1deaf49ec4c9741 0t0 TCP *:commplex-main (LISTEN)
3。使用HTOP寻杀
- 过滤
puma
. - 找到匹配项。
PID USER PRI NI VIRT RES S CPU% MEM% TIME+ Command
661 ogirginc 17 0 390G 6704 ? 0.0 0.0 0:00.00 /opt/homebrew/bin/puma-dev -launchd -dir ~/.puma-dev -d localhost -timeout 15m0s -no-serve-public-paths
- 用
sudo kill -9 661
杀死它。 - 使用新的 PID 重新启动。
附加信息
- rails 版本为
5.2.6
. - puma 版本为
4.3.8
。 - puma-dev 版本为
0.16.2
。 - 这里是 puma-dev 的日志:
2021/10/26 09:48:14 Existing valid puma-dev CA keypair found. Assuming previously trusted.
* Directory for apps: /Users/ogirginc/.puma-dev
* Domains: localhost
* DNS Server port: 9253
* HTTP Server port: inherited from launchd
* HTTPS Server port: inherited from launchd
! Puma dev running...
感觉好像遗漏了一些明显的东西。 可能是由于对 的一些关键部分和较低部分缺乏理解,如果能通过一些简单的解释解决这个问题,我将不胜感激。提前致谢! :)puma-dev
.
为什么
嗯,这很有趣。我之前没有想到要搜索 lsof
的 COMMAND
列。
事实证明,ControlCe
表示“控制中心”,从 Monterey 开始,macOS 默认监听端口 5000
和 7000
。
解决方案
- 转到系统偏好设置 > 共享
- 取消选中
AirPlay Receiver
。 - 现在,您应该可以像往常一样重新启动
puma
。