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

Debian安装Canvas LMS执行bundle exec rails db:initial_setup遇版本冲突错误

Canvas LMS安装时Gem::LoadError:digest版本冲突问题

问题场景

在Debian系统中部署Canvas LMS,执行数据库填充步骤的bundle exec rails db:initial_setup命令时,触发如下Gem版本冲突错误:

/var/lib/gems/3.1.0/gems/bundler-2.3.26/lib/bundler/runtime.rb:308:in `check_for_activated_spec!': You have already activated digest 3.1.0, but your Gemfile requires digest 3.1.1. Since digest is a default gem, you can either remove your dependency on it or try updating to a newer version of bundler that supports digest as a default gem. (Gem::LoadError)
        from /var/lib/gems/3.1.0/gems/bundler-2.3.26/lib/bundler/runtime.rb:25:in `block in setup'
        from /var/lib/gems/3.1.0/gems/bundler-2.3.26/lib/bundler/spec_set.rb:155:in `each'
        from /var/lib/gems/3.1.0/gems/bundler-2.3.26/lib/bundler/spec_set.rb:155:in `each'
        from /var/lib/gems/3.1.0/gems/bundler-2.3.26/lib/bundler/runtime.rb:24:in `map'
        from /var/lib/gems/3.1.0/gems/bundler-2.3.26/lib/bundler/runtime.rb:24:in `setup'
        from /var/lib/gems/3.1.0/gems/bundler-2.3.26/lib/bundler.rb:161:in `setup'
        from /var/lib/gems/3.1.0/gems/bundler-2.3.26/lib/bundler/setup.rb:10:in `block in <top (required)>'
        from /var/lib/gems/3.1.0/gems/bundler-2.3.26/lib/bundler/ui/shell.rb:136:in `with_level'
        from /var/lib/gems/3.1.0/gems/bundler-2.3.26/lib/bundler/ui/shell.rb:88:in `silence'
        from /var/lib/gems/3.1.0/gems/bundler-2.3.26/lib/bundler/setup.rb:10:in `<top (required)>'
        from <internal:/usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb>:85:in `require'
        from <internal:/usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb>:85:in `require'

已知当前环境激活了digest 3.1.0,但Gemfile要求3.1.1,而官方教程指定使用3.1.0版本。已尝试bundle clean --force和删除config/dynamic_settings.yml,问题未解决。

解决方案

  • 更新Bundler版本
    错误提示明确指出更新Bundler可解决默认gem的版本冲突,执行:

    gem update bundler
    

    更新完成后重新执行bundle install,再运行bundle exec rails db:initial_setup。

  • 锁定digest版本为3.1.0
    修改Gemfile,将digest依赖指定为教程要求的3.1.0版本:

    gem 'digest', '3.1.0'
    

    执行bundle update digest锁定版本,之后重新运行初始化命令。

  • 强制使用bundle exec隔离环境
    避免系统全局gem干扰,执行以下命令清理并重新安装依赖:

    bundle exec gem uninstall digest -v 3.1.1
    bundle exec bundle install
    bundle exec rails db:initial_setup
    
  • 检查Ruby版本兼容性
    digest是Ruby默认gem,版本与Ruby版本强绑定。确认当前Ruby版本是否与Canvas LMS教程要求一致,若不匹配,使用rbenv或rvm切换到指定Ruby版本后重试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 11:05:30