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

Windows系统下安装Rails失败求助:权限及依赖库问题

修复Rails安装的三步解决方案

1. 解决gem权限锁定问题

  • 禁止使用sudo安装gem(会破坏Ruby环境权限结构),改用用户本地安装模式:
    gem install rails --user-install
    
  • 若使用rbenv/rvm管理Ruby,先重新初始化环境并重启终端:
    # rbenv用户执行
    rbenv init
    # rvm用户执行
    rvm reload
    
  • 验证GEM_HOME环境变量是否指向用户目录:
    echo $GEM_HOME
    
    正常输出应为~/.gem/ruby/x.x.x(x.x.x为你的Ruby版本号),若不符,手动设置:
    export GEM_HOME="$HOME/.gem/ruby/$(ruby -v | awk '{print $2}' | cut -d. -f1,2)"
    export PATH="$GEM_HOME/bin:$PATH"
    

2. 修复pacman安装libyaml失败问题

pacman失败多因镜像源失效或系统未同步,按以下步骤操作:

  • 打开MSYS2 UCRT64专属终端(必须使用对应架构的终端,禁止用普通CMD)
  • 替换pacman镜像源为国内稳定源(以清华源为例):
    echo -e "Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/ucrt64\nServer = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/\$arch" > /etc/pacman.d/mirrorlist.mingw64
    echo -e "Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/ucrt64\nServer = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/\$arch" > /etc/pacman.d/mirrorlist.msys
    
  • 强制更新pacman数据库与系统:
    pacman -Syu --noconfirm
    
  • 安装libyaml开发库(必须带-devel后缀才能获取yaml.h文件):
    pacman -S mingw-w64-ucrt-x86_64-libyaml mingw-w64-ucrt-x86_64-libyaml-devel --noconfirm
    

3. 重新安装psych并完成Rails部署

  • 单独安装psych gem,指定libyaml的系统路径:
    gem install psych -- --with-yaml-dir=/ucrt64
    
  • 再次执行Rails安装命令:
    gem install rails
    

额外验证项

  • 确认Ruby版本为UCRT架构:执行ruby -v,输出需包含[x64-mingw-ucrt],若不符,用rbenv/rvm切换至对应架构的Ruby版本
  • 全程使用普通用户权限运行终端,避免管理员权限引发的权限冲突

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 02:22:16