文章

Ruby3.3升级3.4取消提供部分默认库

Ruby3.3升级3.4取消提供部分默认库

Ruby3.3升级3.4取消提供部分默认库


📌 问题

  1. 缺少标准库 csv(导致 LoadError: cannot load such file -- csv
  2. 缺少标准库 logger(导致 LoadError: cannot load such file -- logger
  3. 缺少标准库 base64(导致 LoadError: cannot load such file -- base64

🔄 过程

  • 运行 bundle exec jekyll s 时,Jekyll 依赖的 csvloggerbase64 库未找到。
  • 这些库在旧版本 Ruby 是默认包含的,但 Ruby 3.4.0 移除了默认支持
  • 因此,Jekyll 及相关 gem在运行时出错。

🔧 解决方案

方法 1:在 Gemfile 中添加缺失库

  1. 编辑 Gemfile,添加:
    1
    2
    3
    
      gem 'csv'
      gem 'logger'
      gem 'base64'
    
  2. 运行:
    1
    
    bundle install
    
  3. 重新启动 Jekyll:
    1
    
    bundle exec jekyll s
    

方法 2:手动安装缺失库

如果没有 Gemfile,可以手动安装:

1
2
3
gem install csv
gem install base64
gem install logger

然后尝试:

1
bundle exec jekyll s

🎯 最佳方案

🔹 短期:手动安装 csvloggerbase64 库。

如果尝试后仍有问题,请提供 ruby -vbundle list 输出!

本文由作者按照 CC BY 4.0 进行授权