RVM不是一个函数,用'rvm use …'selectruby将不起作用
列出ruby版本
console:~$ rvm list rvm rubies ruby-2.0.0-p481 [ i686 ] # => - current # =* - current && default # * - default
尝试使用特定版本的ruby
console:~$ rvm use 2.0.0 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.
您的控制台没有作为loginshell运行,因此无法访问rvmfunction。 如果你正在运行Ubuntu,你可以:
- 打开控制台
- select编辑 – >configuration文件首选项
- select标签:标题和命令
- checkbox'运行命令作为loginshell'
- 重新启动terminal
在terminalinputbash --login
。 然后给rvm use 2.0.0
我的环境是OSX优胜美地。 有同样的问题….通过添加以下解决
1)编辑并添加[[-s“$ HOME / .rvm / scripts / rvm”]] &&。 “$ HOME / .rvm / scripts / rvm”转换为.bash_profile文件
2)重启terminal,再次尝试RVM命令
看起来你的rvm不能正确加载“.bash_profile”。 我已经做了修复它在MAC OS X或Ubuntu 14.04打开terminal,并写道:
source ~/.rvm/scripts/rvm
如果你不想每次打开一个terminal,就再次执行上面的build议,只需添加即可
source ~/.rvm/scripts/rvm
在~/.bashrc
结尾
与其他答案一样的原则,只是认为它比重新开放的terminal更快:)
bash -l -c "rvm use 2.0.0"
错误是由于rvm没有在loginshell中运行。 因此请尝试下面的命令:
/bin/bash --login
您将能够立即运行rvm命令作为terminal中的loginshell。
谢谢!
你需要允许rvm作为一个函数运行,这样做你可以运行:
export PATH="$PATH:$HOME/.rvm/bin"
你可以把它放在你的任何一个点文件中,rvm会自动将它添加到你的.profile文件(当启用autodot文件的时候),这就是为什么@ BroiSatse的答案有效。
但是,如果你添加这行到你的.bashrc(或.zshrc或等效),那么这也将工作(虽然没有运行你的shell作为loginshell可能会有不良后果)。
从一个新的Ubuntu 16.04安装
1)terminal=>编辑=>configuration文件首选项
2)命令选项卡=>检查运行命令作为loginshell
3)closures,然后重新打开terminal
rvm --default use 2.2.4
FWIW-我也碰到过这个,就是在selenium取消的情况下。 也许有一个子壳被实例化并留在原地。 closuresterminal窗口并打开一个新窗口是我所需要做的。 (macOS Sierra)