RVM不是一个函数,用'rvm use ...'选择rubies是行不通的

时间:2014-05-30 20:35:17

标签: ruby bash rvm

列出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.

15 个答案:

答案 0 :(得分:208)

您的控制台未作为登录shell运行,因此无法访问rvm函数。如果您正在运行Ubuntu,您可以:

  1. 打开控制台
  2. 选择修改 - >个人资料首选项
  3. 选择标签:标题和命令
  4. 复选框'将命令作为登录shell运行'
  5. 重新启动终端

答案 1 :(得分:95)

从您的终端输入bash --login。然后给rvm use 2.0.0

答案 2 :(得分:39)

好像你的rvm没有正确加载“.bash_profile”。我已经完成了通过打开终端并写入:

在MAC OS X或Ubuntu 14.04中修复它
source ~/.rvm/scripts/rvm

答案 3 :(得分:36)

我的环境是OSX Yosemite。有同样的问题....通过添加以下

解决

1)编辑并添加 [[-s" $ HOME / .rvm / scripts / rvm" ]]&& 。 " $ HOME / .rvm / scripts / rvm" .bash_profile 文件

2)重新启动终端并再次尝试RVM命令

答案 4 :(得分:26)

如果您不希望每次打开终端,请再次执行上述建议,只需添加

即可
source ~/.rvm/scripts/rvm

~/.bashrc

的末尾

答案 5 :(得分:14)

该错误是由于rvm未在登录shell中运行。因此,请尝试以下命令:

/bin/bash --login

您可以立即在终端中作为登录shell运行rvm命令。

谢谢!

答案 6 :(得分:14)

与其他答案相同的原则,只是认为它比重新开放终端更快:)

bash -l -c "rvm use 2.0.0"

答案 7 :(得分:5)

您需要将source ~/.rvm/scripts/rvm添加到~/.your_shellrc file。从现在开始加载shell时,将加载rvm。

例如:

如果您使用的是zsh shell,则需要添加~/.zshrc文件

如果您使用的是bash shell,则需要添加~/.bashrc文件

然后打开一个新标签以查看效果。

答案 8 :(得分:3)

对我来说,在Ubuntu(18.08)中,我在.bashrc中添加了以下代码,它可以正常工作。

 source /home/username/.rvm/scripts/rvm

请添加此行。

答案 9 :(得分:2)

如果 RVM 是使用专用的 ubuntu RVM 安装程序 https://github.com/rvm/ubuntu_rvm 安装的,则 RVM 脚本的路径将不同 /usr/share/rvm/scripts/rvm。因此,要将其添加到您的 .bashrc 中,请运行以下命令:

echo 'source "/usr/share/rvm/scripts/rvm"' >> ~/.bashrc

答案 10 :(得分:1)

从新的Ubuntu 16.04安装

1)终端=>编辑=>个人资料首选项

2)命令选项卡=>选中Run命令作为登录shell

3)关闭,然后重新打开终端

rvm --default use 2.2.4

答案 11 :(得分:1)

我认为这是更通用的解决方案

echo 'source "$HOME/.rvm/scripts/rvm"' >> ~/.bashrc

答案 12 :(得分:0)

FWIW-我刚刚碰到了这个,它是在取消硒运行的背景下。也许有一个子shell被实例化并留在原地。关闭那个终端窗口并打开一个新窗口就是我需要做的。 (macOS Sierra)

答案 13 :(得分:0)

在ubuntu 19.1中为我工作

source ~/.rvm/scripts/rvm

答案 14 :(得分:0)

     Usually this is caused by shell initialization files. Search for PATH=... entries.
     You can also re-add RVM to your profile by running: rvm get stable --auto-dotfiles
     To fix it temporarily in this shell session run: rvm use ruby-2.6.5
     To ignore this error add "rvm_silence_path_mismatch_check_flag=1" to your "~/.rvmrc" file.