执行gem install bundler报wrong number of arguments错误如何解决
问题原因
- 核心为 psych 库的版本兼容性冲突:从报错栈可以定位到错误出现在
psych-4.0.1/lib/psych.rb:323:in 'safe_load'位置,psych 4.0及以上版本调整了safe_load方法的参数规则,仅支持1个入参。你当前使用的 gem 版本为2.7.6.2,属于较老的 RubyGems 版本,调用safe_load方法时会传入4个参数,因此触发参数数量不匹配的报错。 - 该问题通常是系统之前安装其他 Ruby 依赖时,自动拉取了不兼容的高版本 psych 库导致。
解决方案
按以下顺序执行命令即可解决:
- 强制降级 psych 到兼容旧版 RubyGems 的版本
gem install psych -v 3.3.2 --force
3.3.2是psych 3.x的最终稳定版,完全适配你当前使用的2.7.x版本RubyGems。
2. 重新安装bundler
gem install bundler
- (可选)如果执行上述命令时提示权限不足,在命令前添加
sudo以管理员权限执行即可:
sudo gem install psych -v 3.3.2 --force sudo gem install bundler
- 验证安装结果
执行bundle -v,正常返回版本号即说明安装成功。
内容的提问来源于stack exchange,提问作者p0ny
相关产品推荐
相关产品推荐

