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

Node.js服务器重启后仍不显示文件更改问题求助

排查树莓派Node.js服务器代码不更新的问题
  • 核对代码路径与服务指向
    确认你复制新代码的目录,和开机自启服务实际运行的目录是否一致。用ls -l /path/to/your/code查看文件修改时间,对比PC端的修改记录,验证代码是否真的复制到位。如果是systemd托管的服务,打开服务配置文件(比如/etc/systemd/system/your-server.service),检查WorkingDirectory和ExecStart字段是否指向新代码目录。

  • 重新同步依赖
    树莓派的依赖环境可能和PC端存在差异,进入代码目录执行:

    yarn install --production # 生产环境推荐用这个,减少冗余依赖
    # 若用npm则执行:
    npm install --production
    

    确保新代码新增的依赖被正确安装。

  • 重新编译项目(若有编译流程)
    如果你的项目需要预编译(比如TypeScript转译、前端框架打包),PC端的yarn start可能包含编译步骤,但树莓派上直接复制源码可能没执行编译。进入代码目录运行编译命令:

    yarn build
    # 或对应项目的编译命令,比如tsc
    

    确认服务器启动的是编译后的最新产物。

  • 刷新自启服务配置
    即使重启树莓派,systemd服务可能未加载新配置。执行以下命令:

    sudo systemctl daemon-reload
    sudo systemctl restart your-server.service
    sudo systemctl status your-server.service
    

    查看服务状态输出,确认无报错,服务已加载新代码启动。

  • 修复文件权限
    复制到树莓派的文件可能权限不足,导致服务器进程无法读取。修改代码目录权限:

    sudo chown -R pi:pi /path/to/your/code
    sudo chmod -R 755 /path/to/your/code
    

    替换pi:pi为运行服务器的用户和组。

  • 检查服务器端缓存配置
    如果代码中用了静态文件缓存(比如express的express-static),检查是否设置了过长的缓存时间。例如:

    app.use(express.static('public', { maxAge: '1d' })) // 该配置会缓存文件1天
    

    临时注释maxAge配置,重启服务器测试是否生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 00:44:53