我刚安装了RVM,但是不能让它工作。我在我的.profile文件的末尾有这样的一行:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"

我试图运行源.profile和重新启动终端,但仍然,当我运行rvm使用1.9.2时,我得到:

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

我的系统是Ubuntu 11.10。


您没有使用登录shell。

这里描述了启用登录标志的过程,也可以在这里找到登录shell的一些详细信息。

因此,您需要检查Gnome终端设置中的“作为登录shell运行”选项。设置标志后,需要打开新的终端。

有时需要将命令设置为/bin/bash——login。


对于远程连接,重要的是要理解运行交互式ssh会话和执行单个命令之间的区别。

当运行ssh服务器,然后与服务器交互工作时,默认情况下,您正在使用登录shell,这一切都很好,但对于ssh服务器“命令”,您不使用登录shell,它将被要求与ssh服务器“bash -lc”命令“”一起运行。

任何远程调用都可能存在与使用ssh执行单个命令相同的问题。


我得到了同样的错误,因为我曾经用apt-get命令安装了旧的rvm版本ruby-rvm。

我通过删除在.bashrc文件中配置旧rvm的脚本行来解决这个问题。

检查旧的rvm config脚本,然后运行source .profile


尽管你接受了一个答案,我还是想建议另一种方法。~ /。Bashrc在任何shell被打开之前被加载。在最后加上这一行,你不需要任何login shell的东西


最新的RVM (RVM 1.11.6(稳定))在Ubuntu上停止工作(10.10 - 64位-讨厌的小虫子或其他什么)-我一直在得到

“RVM不是一个函数,用RVM use选择红宝石…’是行不通的。”

之前,我得到了消息,但是'rvm 1.9.3-p0@rails321'可以工作。现在,它不起作用了——你根本不能改变gemset。

什么都不工作,直到我发现这个-把它作为/home/your-name/.bashrc的最后一行

[[-s "$HOME/。rvm/scripts/rvm"]] && source "$HOME/.rvm/scripts/rvm"


您需要运行以下命令

$ source ~/.rvm/scripts/rvm

然后运行这个

$ type rvm | head -n 1

如果你得到

rvm is a function

问题解决了。

您还需要运行user$ rvm requirements以查看操作系统的依赖项要求

来源:https://rvm.io/rvm/install/

我忘记提到你需要把这个代码到你~/。Bashrc或~/。ZSHRC文件,您将不需要再次编写此代码。


«官方»说明在那里:https://rvm.io/integration/gnome-terminal/


在Mac OSX 10.8 Mountain Lion操作系统上安装Ruby 1.9.3-p125

You've already installed the latest XCode (>= 4.3) and and the command line Objective-C compiler "clang". You must run the "bash" shell for this procedure to work. Go to System Preferences Click on "Users & Groups" Click the lock on the bottom left of the panel and enter your password to unlock it. "Ctrl-Click" on your user icon in the left pane of the panel and choose "Advanced Options..." Change the Login Shell to "/bin/bash" Close the preferences Open a terminal window (press command+spacebar and type in "terminal") Follow the instructions at:

http://www.frederico-araujo.com/2011/07/30/installing-rails-on-os-x-lion-with-homebrew-rvm-and-mysql/

注:

要安装ruby,你可能需要指定clang编译器: $ RVM install 1.9.3p125——with-gcc=clang 如果RVM抱怨没有找到/usr/local/rvm,你需要创建一个链接: $ ln -s /Users/[用户名]/。rvm /usr/local/rvm


正如您所说,所显示的错误可能是以下错误。

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.

如上所述,只需在您的终端中输入'/bin/bash——login'(重启终端后),然后键入命令'rvm use 1.9.3'(例如),它将开始使用相同的版本。

只需执行命令'ruby -v'来确认RVM使用的是ruby的更新版本。


要永久解决这个问题,只需剪切/粘贴以下代码行:

[[-s "$HOME/。rvm/scripts/rvm"]] && source "$HOME/.rvm/scripts/rvm"

来自:~ /。bash_profile文件

: ~ /。bashrc文件(

这样做的原因是每次进入终端时执行.bashrc,每次登录时执行.bash_profile。这就是为什么解决方案/bin/bash—login可以工作,但每次进入终端时都必须这样做。这样你就设置好了,直到你的下一个格式,你会忘记所有这些by than:)


我也犯了同样的错误,但这一页上的解决方案似乎都不起作用。对我来说,把rvm可执行文件添加到我的路径就足够了:

PATH=$PATH:/usr/local/rvm/bin/

和拖鞋!


也许你可以试试下面的方法:

你的终端-> 编辑- > 配置文件首选项-> 标题和命令-> . 检查“作为登录shell运行命令” 完成


打开终端,然后去编辑>配置文件首选项,然后去标签“标题和命令”,并检查“运行命令作为登录Shell”。

启动一个Bash,现在你可以直接从终端安装Gems,而不使用sudo和错误“RVM不是一个函数,选择红宝石与' RVM使用…”将被淘汰。

欢呼。


以上答案都是正确的。但当我面对同样的问题时,解决方案如下:

Update ZSH. (Tried to update directly din't work for some reason. So uninstalled and reinstalled updated version from here) Set default shell as zsh (i.e. if you prefer zsh) using sudo chsh -s $(which zsh) $USER Ensure that the following code is at the bottom of your .zshrc after you have installed the latest RVM probably using CURL from official RVM site [[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" source ~/.profile MOST IMPORTANT POINT: Ensure that in your .zshrc file every export to PATH is appended with :$PATH. Which i believe was the root of my problems even after following the above steps. post this all my problems of RVM Not being a function went away. If it still does not work, give some error trace over here. After a few hours of struggle to solve this issue, i'm sure i must have seen all related errors.

希望能有所帮助。干杯!


我在一个新的rvm安装中也遇到了这个问题,这里的答案都没有解决它。进入官方rvm站点,在基础部分,他们有这样的命令:

# from http://rvm.io/rvm/basics rvm env——path (rvm 1.9.3)

您应该将1.9.3更改为您真正想要的ruby版本,并且它将使rvm成为一个函数,而不考虑shell类型。


我也遇到过这个问题。最后我在终端上执行了这行。

source ~/.rvm/scripts/rvm

问题解决了。因为这一行将使RVM实例成为特定时间的函数。


source ~/.bash_profile

... 应该能行…,可能需要登出并重新登录。

如何从命令行重新加载.bash_profile ?


运行bash——login,然后运行rvm use 2.0.0。


我有同样的问题,我这样做在我的.bash_profile和它工作。 源”$ HOME / .rvm /脚本/区”。


对于那些有同样问题的人,他们像我一样使用lubuntu,我点击了这个链接:

你以

lx终端-e“bash -il”

感谢@mpapsis给我指明了正确的方向


我通过在.bash_profile中添加这一行来修复它:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

我不干净的方式改变红宝石版本是

RVM别名创建默认ruby-2.2.3 && source ~/Bashrc && RVM列表

它可以工作,因为我有行波纹在我的~/。Bashrc,但奇怪的是它并没有自动完成这项工作。

[- " / usr / local / rvm / bin / rvm] &&源码”/ usr / local / rvm / bin / rvm”

我尝试连接。登录到docker容器

docker run -it imagename `/bin/bash --login`

但在这种情况下,容器在后台保持打开状态,我不能输入命令。

我尝试了zhc和终端选项“打开/bin/bash—登录”


$ source ~/.rvm/scripts/rvm

如果你不想一次又一次地为每个终端选项卡启用登录shell,请遵循以下步骤。

关于偏好 在这里输入图像描述 启用运行命令作为登录shell 在这里输入图像描述