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

Docker部署Canvas LMS开发版遇dory加载错误求助

Canvas LMS开发版安装问题解决方法

1. 依赖检查语法错误(script/common/utils/common.sh: line 159)

这个错误是因为(( ))表达式传入了多行内容(多个换行的0),导致语法解析失败。解决步骤:

  • 打开script/common/utils/common.sh文件,定位到第159行,查看对应的变量赋值逻辑,通常是某个检查依赖的命令返回了多行结果。
  • 将返回多行的命令结果转为单行,比如把类似count=$(some_dependency_check_command)的代码修改为:
    count=$(some_dependency_check_command | tr '\n' ' ' | xargs echo)
    
    或者用统计行数的命令替代,比如count=$(some_dependency_check_command | grep -c .),确保count变量是单行的数值或表达式。
  • 保存修改后重新运行./script/docker_dev_setup.sh。

2. Dory反向代理加载错误(LoadError)

这个问题是因为/usr/local/bin/dory脚本中指定的Gem路径与实际安装路径不匹配。解决方法任选其一:

方法一:修正脚本中的路径

  • 先查找dory实际安装的bin目录路径:
    gem which dory
    
    输出示例:/usr/local/lib/ruby/gems/3.1.0/gems/dory-1.2.0/lib/dory.rb,对应的bin路径就是/usr/local/lib/ruby/gems/3.1.0/gems/dory-1.2.0/bin/dory。
  • 编辑/usr/local/bin/dory文件,将第25行的路径替换为上面找到的实际bin路径。

方法二:重新安装dory

  • 先卸载现有dory:
    gem uninstall dory
    
  • 重新安装dory,确保安装过程无报错:
    gem install dory
    
    重新安装后生成的/usr/local/bin/dory会自动匹配正确的Gem路径。

方法三:用Bundle管理dory

如果Canvas项目的Gemfile中包含dory依赖,直接通过bundle安装并调用:

bundle install
bundle exec dory up

内容的提问来源于stack exchange,提问作者MJ-32

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 08:30:46