使用RInno创建示例Shiny应用安装程序时遇jsonlite命名空间错误
解决RInno部署Shiny应用时的
write_json错误及编译失败问题 你在使用RInno打包Shiny独立应用时遇到的两个问题其实是关联的,我来一步步帮你排查解决:
1. 修复'write_json' is not an exported object from 'namespace:jsonlite'错误
这个问题的核心是你的jsonlite包版本过低:write_json函数是在jsonlite的较新版本中才正式对外导出的,旧版本里这个函数可能存在但未暴露,导致RInno调用时触发错误。
解决步骤:
- 卸载旧版本并安装最新版
jsonlite:remove.packages("jsonlite") install.packages("jsonlite", dependencies = TRUE) - 重启你的R会话(这一步很关键,确保新包版本被正确加载)
- 重新加载依赖包并执行之前的代码:
library(shiny) library(RInno) example_app(app_dir = "app") create_app(app_name = "myapp", app_dir = "app")
2. 解决compile_iss()执行失败的问题
如果修复完write_json错误后,compile_iss()仍然失败,大概率是以下两个原因之一:
- 你的系统未安装Inno Setup——这是RInno生成Windows安装包的必备工具;
- RInno无法自动识别Inno Setup的安装路径。
对应的解决方法:
- 先下载安装最新版Inno Setup(建议使用默认路径安装,方便RInno自动识别);
- 安装完成后重新运行
compile_iss();如果R仍找不到Inno Setup,可以手动指定路径:
(上述路径是Inno Setup 6的默认安装路径,可根据你实际安装的版本调整)compile_iss(iss_path = "path/to/your/myapp.iss", inno_path = "C:/Program Files (x86)/Inno Setup 6/ISCC.exe")
额外小提示:确保你的R项目路径中没有中文或特殊字符,这类问题也可能导致文件读写或编译过程中出现意外错误。
内容的提问来源于stack exchange,提问作者Alexander Borochkin
相关产品推荐
相关产品推荐

