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

升级Ruby至3.2.2后无需/bin/bash --login创建Rails应用的方法

解决Ruby升级后Rails创建报错及RVM自动加载问题

1. 让RVM在非登录shell里自动加载

RVM默认仅在登录shell(比如执行/bin/bash --login时)的配置文件(~/.bash_profile或~/.profile)中加载脚本,但日常打开的终端通常是非登录shell,只会读取~/.bashrc文件。需要把RVM的加载逻辑同步到~/.bashrc:

  • 先查看~/.bash_profile中的RVM加载代码:
    cat ~/.bash_profile | grep -A 5 "rvm"
    
  • 把输出的内容复制到~/.bashrc文件末尾,通常是这一行:
    [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
    
  • 执行source ~/.bashrc让配置立即生效,或者重启终端测试。

2. 修复Rails命令的旧版本指向

报错/usr/bin/env: ‘ruby3.0’: No such file or directory是因为之前安装的Rails命令头部仍指向旧Ruby版本,需要重装Rails更新:

  • 先切换到Ruby 3.2.2版本:
    rvm use 3.2.2
    
  • 卸载所有已安装的Rails版本:
    gem uninstall rails -a
    
  • 重新安装Rails:
    gem install rails
    
  • 验证修复结果:执行head -n 1 $(which rails),输出应为#!/usr/bin/env ruby(而非ruby3.0)。

3. 确认默认Ruby版本配置

虽然已执行rvm use 3.2.2 --default,仍需检查配置是否生效:

  • 执行rvm list,查看Ruby 3.2.2旁是否标注default。
  • 执行ruby -v和gem env,确认输出的版本均为3.2.2,且Gem路径指向RVM管理的3.2.2目录。

4. 将终端设置为登录shell模式

如果上述方法仍未解决问题,可直接将终端改为登录shell启动:

  • GNOME终端:偏好设置→配置文件→编辑→命令,勾选「以登录shell运行」。
  • iTerm2:偏好设置→Profiles→General→Command,选择「Login shell」。
  • 其他终端查找类似「登录shell」的选项开启即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 11:13:20