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

发布Shiny应用到服务器时报路径不在项目目录内错误如何解决?

错误原因

你使用了指向本地家目录的绝对路径读取文件,~在系统中代指当前登录用户的家目录,线上Shiny部署环境的目录结构与本地完全不同,且大部分Shiny发布平台限制应用只能读取项目目录内部的文件,因此触发路径校验报错。

修复步骤
  • 首先将两个用到的Excel文件移动到Shiny应用的项目根目录下,你可以在根目录新建data文件夹专门存放数据文件,最终目录结构参考:
Shiny应用根目录/
├── app.R(或ui.R、server.R启动文件)
└── data/
    ├── Pricing  081021.xlsx
    └── Portfolio for R 081021.xlsx
  • 替换原有代码中的绝对路径为相对路径(相对路径以应用启动文件所在目录为基准),修改后的代码如下:
    第36行替换为:
    data <- read_excel("./data/Pricing 081021.xlsx") %>% filter(Date_of_Indication == max(Date_of_Indication))
    第38行替换为:
    portfolio <- read_excel("./data/Portfolio for R 081021.xlsx")
  • 本地验证:修改完成后,先将本地R的工作目录切换到应用根目录,运行修改后的代码确认可以正常读取数据,再重新发布到线上即可解决路径报错问题。
注意事项
  • 路径中的空格、文件名大小写要和实际文件完全一致,避免因拼写问题导致读取失败
  • 后续开发Shiny应用要读取资源时,不要使用~、C:/、/Users/xxx这类固定的绝对路径,所有资源都要放在项目目录内用相对路径引用,避免部署时出现兼容性问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 18:54:06