Windows10下Ruby执行bundle install遇undefined method untaint错误求助
解决方法
1. 升级Bundler到兼容Ruby 2.4的新版本
尽管仓库基于Bundler 1.16.5创建,但可以尝试升级到Ruby 2.4支持的更高版本Bundler(比如1.17.x系列,该系列与Ruby 2.4兼容性更好):
- 卸载旧版本Bundler:
gem uninstall bundler -v 1.16.5 - 安装兼容版本:
gem install bundler -v 1.17.3 - 重新执行
bundle install
2. 修改Bundler 1.16.5源码临时修复(应急方案)
如果必须使用指定的1.16.5版本,可通过修改Bundler源码移除untaint调用:
- 查找Bundler安装路径:
gem which bundler,复制输出的路径 - 打开该路径下的
lib/bundler/rubygems_ext.rb文件,搜索untaint关键字 - 将所有类似
str.untaint的代码替换为str或str.dup,保存后重新执行bundle install
3. 更换稳定的Gem源
Windows环境下部分Gem源可能导致依赖下载异常,引发方法调用错误:
- 查看当前Gem源:
gem sources - 移除不稳定源(如默认的rubygems.org):
gem sources --remove https://rubygems.org/ - 添加国内镜像源:
gem sources --add https://gems.ruby-china.com/ - 执行
bundle install
4. 使用环境隔离工具规避系统干扰
通过Ruby版本管理器创建独立运行环境,避免系统环境冲突:
- Windows下可使用RubyInstaller自带的版本管理功能,或启用WSL2安装Linux环境
- 在隔离环境中重新安装Ruby 2.4.18和Bundler 1.16.5,再执行
bundle install
内容的提问来源于stack exchange,提问作者Sierpe
相关产品推荐
相关产品推荐

