You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

yesod devel异常求助:无法触发重建、端口占用及静态文件不更新

Yesod开发服务器问题排查与解决

问题描述

在跟着Yesod快速入门指南操作后,遇到以下开发服务器相关问题:

  • 输入命令或按回车触发重建时,服务器无响应:终端能显示输入的文本,但服务器没有任何反馈。
  • 多次重启后启动失败:提示TLS开发端口不可用,推测是旧进程在后台残留占用端口。
  • 重启后静态文件未更新:执行stack clean && stack build && stack exec -- yesod devel后,新的静态文件仍无法加载,怀疑与进程残留有关。

解决方案

端口占用/进程残留问题

  1. 定位并终止残留进程:
    • Linux/macOS系统:
      # 替换<端口号>为实际使用的开发端口(默认通常是3000)
      lsof -i :<端口号>
      # 用查到的进程ID(PID)执行强制终止
      kill -9 <PID>
      
    • Windows系统:
      # 查找占用端口的进程PID
      netstat -ano | findstr :<端口号>
      # 强制终止进程
      taskkill /F /PID <PID>
      
  2. 规范退出流程:停止服务器时使用Ctrl+C正常退出,避免异常终止导致进程残留。

静态文件缓存问题

Yesod在本地开发环境中会为静态文件添加Cache-Control缓存头,即使服务器重启,浏览器仍可能加载缓存的旧文件。解决方式:

  • 在浏览器中执行强制刷新:Windows按Ctrl+F5,macOS按Cmd+Shift+R,强制浏览器重新请求最新的静态文件。

内容的提问来源于stack exchange,提问作者doliver

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 06:57:04