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

创建Ruby on Rails项目时始终安装非指定版本gem该如何解决?

问题原因说明

  1. 版本概念混淆
    你执行gem -v输出的2.7.6是RubyGems包管理器本身的版本,不是bundler gem的版本,查询bundler版本需要执行bundle -v。
  2. 版本管理工具冲突
    你的环境变量PATH中同时存在rbenv和rvm两类Ruby版本管理工具的路径,二者会互相干扰,导致gem安装路径、调用优先级异常,这是你安装指定版本gem不生效的核心原因。

解决步骤

  • 第一步:清理版本管理工具冲突
    如果你确定使用rbenv作为Ruby版本管理工具,编辑你的shell配置文件(通常是~/.bashrc/~/.zshrc/~/.bash_profile),删除所有和rvm相关的配置行,保存后执行source 配置文件路径生效,避免二者路径冲突。
  • 第二步:安装指定版本bundler并生效
    执行以下命令:
    gem install bundler:1.11.2
    rbenv rehash
    
    其中rbenv rehash是刷新rbenv的可执行文件映射缓存,是rbenv环境下安装新gem后必须执行的操作。完成后执行bundle -v,确认输出为1.11.2即可。
  • 第三步:创建Rails项目
    先清空当前目录下之前创建项目生成的残留文件(Gemfile、Gemfile.lock、.bundle文件夹等),再执行以下命令:
    rails _4.2.6_ new . --no-ri --no-rdoc
    bundle _1.11.2_ install
    
    调用bundler时指定版本号即可避免调用到高版本bundler。

额外兼容性提示

Rails 4.2.x系列对Ruby 2.5.x的适配并不完善,如果后续仍出现依赖异常,可以将rbenv使用的Ruby版本切换到2.3.x或2.4.x,适配稳定性更高。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 04:21:03