使用bundle install安装psych 5.0.2失败求助
解决Windows下安装psych 5.0.2时libyaml包404的问题
问题原因
安装psych 5.0.2时,系统尝试拉取旧版本的mingw-w64-x86_64-libyaml-0.2.2-1包,但该版本已从MSYS2源中移除,导致404错误,最终因缺少yaml.h头文件无法编译gem的原生扩展。
解决步骤
1. 更新MSYS2包源与系统
打开Ruby安装目录自带的MSYS2终端(可通过Start菜单的"MSYS2 MinGW 64-bit"启动,或运行Ruby根目录下msys2/msys2_shell.cmd):
- 执行命令更新包数据库和系统:
若提示需要重启终端,关闭后重新打开,再执行:pacman -Syupacman -Su
2. 安装最新版libyaml
在MSYS2终端中执行:
pacman -S mingw-w64-x86_64-libyaml
这会安装源中可用的最新libyaml版本,替代找不到的旧版本。
3. 重新安装psych或执行bundle install
- 若直接安装gem:
gem install psych -v 5.0.2 - 若使用Bundler:
bundle install
备选方案:降级psych版本
如果上述步骤仍有问题,可尝试降级到与Ruby 3.0.x更兼容的psych版本(比如4.0.6):
- 在Gemfile中添加版本锁定:
gem 'psych', '~> 4.0.6' - 执行:
bundle install
内容的提问来源于stack exchange,提问作者DeeBee
相关产品推荐
相关产品推荐

