我在Mac OS X上得到"RVM不是函数"错误,并且没有发布的解决方案

use*_*749 16 ruby rvm

我在Mac OS x 10.8.2("Mountain Lion")上,我成功安装了RVM 1.17.8及其依赖项.我可以用它来安装Ruby版本rvm install 1.9.2,但是如果rvm use <version>没有出现这个错误我就无法执行:

RVM is not a function, selecting rubies with 'rvm use ...' will not work.

You need to change your terminal emulator preferences to allow login shell.
Sometimes it is required to use `/bin/bash --login` as the command.
Please visit https://rvm.io/integration/gnome-terminal/ for a example.
Run Code Online (Sandbox Code Playgroud)

source ~/.bash_profile每当启动终端窗口时,我都会在〜/ .bash_profile中使用以下内容:

export SVN_EDITOR=vim
PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting
[ -r ~/.bashrc ] && source ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

我试过运行source ~/.rvm/scripts/rvm,运行时没有返回错误,但当我尝试使用RVM在终端会话中设置Ruby版本时,我仍然得到"RVM不是函数"错误.

我还尝试使用卸载和重新安装RVM rvm implode.我的想法已经用完了,我似乎无法在网上找到更多的解决方案.救命?

mpa*_*pis 27

确保正确设置了shell初始化文件:

rvm get head --auto-dotfiles
Run Code Online (Sandbox Code Playgroud)

然后转到终端模拟器首选项并启用登录shell,有时它需要使用/bin/bash --login.同时确保完全关闭终端并在更改设置后将其打开.

  • 为了清楚,有人像我一样感到困惑:在Mac OS X 10.10.5上,"启用登录shell"没有简单的复选框.但它非常简单:打开终端首选项并选择"打开时弹出:"选项提供命令.这是使用"/ bin/bash --login"作为启动每个shell的命令的地方. (6认同)

use*_*749 14

解决方案最终出现在RVM 帮助和支持页面上,".bash_profile未加载到OSX"部分.似乎问题是我将终端设置为使用"默认登录shell"打开,当我将其更改为在Preferences/Setup中使用命令"/ usr/bash"打开时,"source~/.rvm/scripts/rvm"开始工作,rvm现在被识别为一个函数.