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

使用processmapR调用process_map()时出现copyDependencyToDir错误求助

流程挖掘中processmapR::process_map()报错问题

问题详情

在流程挖掘项目中使用processmapR库时,调用processmapR::process_map()绘制流程图出现以下错误:

Error in copyDependencyToDir(dep, libdir, FALSE) : Can't copy dependency files that don't exist: '/htmlwidgets/lib/viz/viz.js', '/htmlwidgets/lib/viz/full.render.js'
  • 其他绘图函数(如trace_explorer、dotted_chart)可正常使用
  • 已确认processmapR安装目录下存在上述两个缺失文件
  • 尝试过常规重装、通过devtools从GitHub重装该库,问题未解决

附使用代码:

library(bupaR)
library(processmapR)
library(readxl)

df <- readxl::read_excel("path to my eventlog in .xlsx format")
df <- df %>% drop_na()

eventlog <- df %>%
  bupaR::eventlog( case_id = 'ID',
                   activity_id = 'Activity',
                   activity_instance_id = 'activity_instance_id',
                   lifecycle_id = 'lifecycle_id',
                   timestamp = 'TimeStamp',
                   resource_id = 'resource_id'
  )

eventlog %>% process_map()

错误原因及修复方案

错误原因

该错误本质是process_map()依赖的htmlwidgets资源路径解析异常:虽然文件物理存在,但R在复制依赖文件到临时目录或全局htmlwidgets库时,无法正确定位文件路径,可能由以下因素导致:

  • 包安装时的资源路径配置未生效
  • R的临时目录或包目录权限不足
  • htmlwidgets的缓存与processmapR的资源路径冲突

修复步骤

  1. 清理缓存并强制重装依赖包
    卸载相关包后清理R缓存,再重新安装:

    # 卸载包
    remove.packages(c("processmapR", "htmlwidgets"))
    # 清理R缓存(Windows/Linux路径不同,自行替换)
    # Windows: unlink("C:/Users/你的用户名/AppData/Local/R/cache", recursive = TRUE)
    # Linux/Mac: unlink("~/.cache/R", recursive = TRUE)
    # 从GitHub强制重装processmapR
    devtools::install_github("bupaverse/processmapR", force = TRUE)
    
  2. 手动复制资源文件到全局htmlwidgets目录

    • 找到processmapR的安装目录:运行.libPaths()查看包路径,进入processmapR/htmlwidgets/lib/viz/
    • 复制viz.js和full.render.js两个文件
    • 进入全局htmlwidgets的lib目录(htmlwidgets/lib/),若没有viz文件夹则新建,将文件粘贴进去
  3. 检查R运行权限

    • 确保R以管理员权限运行(Windows)或拥有读写tempdir()返回的临时目录的权限(Linux/Mac)
    • 运行tempdir()查看临时目录路径,手动确认该目录可正常读写
  4. 临时绕过资源复制(应急方案)
    若上述方法无效,可尝试禁用htmlwidgets的资源复制,直接使用本地资源:

    library(htmlwidgets)
    # 临时设置依赖目录为processmapR的资源目录
    old_dir <- getOption("htmlwidgets.libdir")
    options(htmlwidgets.libdir = file.path(.libPaths()[1], "processmapR/htmlwidgets/lib"))
    # 绘制流程图
    eventlog %>% process_map()
    # 恢复原设置
    options(htmlwidgets.libdir = old_dir)
    

内容的提问来源于stack exchange,提问作者Søren Stange

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 07:48:36