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

Fedora 28安装Jekyll遇ArgumentError参数数量错误咨询

解决Fedora 28安装Jekyll时的ArgumentError参数数量错误

我在Fedora 28系统上安装Jekyll时碰到了这个参数不匹配的报错,已经装完官方文档要求的所有依赖项,当前环境版本信息如下:

ruby -v
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]
gem -v
2.5.2
bundle -v
Bundler version 1.16.1

执行gem install jekyll时出现如下错误:

gem install jekyll
ERROR: While executing gem ... (ArgumentError)
wrong number of arguments (given 1, expected 0)

尝试以root身份运行也无法解决问题,添加--backtrace参数后的完整报错信息:

gem install jekyll --backtrace
ERROR: While executing gem ... (ArgumentError)
wrong number of arguments (given 1, expected 0)
/usr/local/share/ruby/site_ruby/rubygems/core_ext/kernel_require.rb:47:in `require'
/usr/local/share/ruby/site_ruby/rubygems/installer.rb:162:in `initialize'
/usr/local/share/ruby/site_ruby/rubygems/installer.rb:104:in `new'
/usr/local/share/ruby/site_ruby/rubygems/installer.rb:104:in `at'
/usr/local/share/ruby/site_ruby/rubygems/resolver/specification.rb:93:in `install'
/usr/local/share/ruby/site_ruby/rubygems/request_set.rb:166:in `block in install'
/usr/local/share/ruby/site_ruby/rubygems/request_set.rb:156:in `each'
/usr/local/share/ruby/site_ruby/rubygems/request_set.rb:156:in `install'
/usr/local/share/ruby/site_ruby/rubygems/commands/install_command.rb:250:in `install_gem'
/usr/local/share/ruby/site_ruby/rubygems/commands/install_command.rb:300:in `block in install_gems'
/usr/local/share/ruby/site_ruby/rubygems/commands/install_command.rb:296:in `each'
/usr/local/share/ruby/site_ruby/rubygems/commands/install_command.rb:296:in `install_gems'
/usr/local/share/ruby/site_ruby/rubygems/commands/install_command.rb:203:in `execute'
/usr/local/share/ruby/site_ruby/rubygems/command.rb:308:in `invoke_with_build_args'
/usr/local/share/ruby/site_ruby/rubygems/command_manager.rb:169:in `process_args'
/usr/local/share/ruby/site_ruby/rubygems/command_manager.rb:139:in `run'
/usr/local/share/ruby/site_ruby/rubygems/gem_runner.rb:55:in `run'
/usr/bin/gem:21:in `<main>'

可行的解决思路

1. 升级Rubygems到兼容版本

这个报错大概率是因为Rubygems版本过旧,和Ruby 2.5.1存在兼容性问题。先尝试升级Rubygems:

gem update --system

升级完成后再重新执行gem install jekyll,如果还是不行,试试下面的方案。

2. 清理冲突的Ruby环境,重新安装系统组件

从报错路径看,/usr/local/share/ruby/site_ruby下的文件可能和系统自带的Ruby组件冲突了。先清理手动安装的Ruby文件,再重新安装系统包:

# 清理冲突的Ruby组件
sudo rm -rf /usr/local/share/ruby/site_ruby
# 重新安装系统Ruby及相关工具
sudo dnf reinstall ruby ruby-devel rubygems bundler
# 安装Jekyll编译所需的系统依赖
sudo dnf install gcc-c++ make redhat-rpm-config zlib-devel

之后用用户权限安装Jekyll,避免root权限带来的问题:

gem install jekyll --user-install

3. 使用Ruby版本管理器隔离环境(推荐)

系统自带的Ruby版本往往比较旧,且容易和其他组件冲突。用rbenv来管理独立的Ruby环境是更稳妥的方式:

# 安装rbenv和ruby-build
sudo dnf install rbenv ruby-build
# 配置bash环境,让rbenv生效
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
source ~/.bashrc
# 安装一个兼容Jekyll的Ruby版本(比如2.7.8,Jekyll 4.x支持2.5+)
rbenv install 2.7.8
# 设置全局Ruby版本
rbenv global 2.7.8
# 安装bundler和jekyll
gem install bundler jekyll

这个报错的核心原因是Rubygems的Installer初始化时参数不匹配,通常是环境中存在冲突的Ruby组件,或者版本兼容性问题,上面的方案应该能解决你的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 06:43:08