【问题标题】:How do I change my Ruby version using RVM?如何使用 RVM 更改我的 Ruby 版本?
【发布时间】:2012-01-29 15:21:21
【问题描述】:

我无法切换当前的 Ruby 版本:

➜  ~  rvm list

rvm rubies

   ruby-1.9.2-p290 [ x86_64 ]
   ruby-1.9.3-p0 [ x86_64 ]

➜  ~  rvm use ruby-1.9.3-p0

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

【问题讨论】:

  • 你确定你正确安装了 rvm 吗?你用的是什么操作系统?
  • 请将rvm info 的输出附加到您的问题中。
  • 我在 Ubuntu 11.10 上使用 apt-get 安装 rvm 时遇到了类似的问题,我不得不删除它并使用 $ bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer) 重新安装它
  • 你的shell的启动脚本里有RVM加载功能吗? [[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" 是要使用的代码。如果您的路径中安装了 RVM,但您的启动脚本中没有,您可能会收到 RVM is not a function 错误。
  • 这个解决方案对我有用 - rvm.io/integration/gnome-terminal

标签: ruby rvm


【解决方案1】:

这也发生在我身上。我有:

export PATH=~/.rvm/bin:$PATH

添加到我的 .bashrc 中。

我所要做的就是添加另一个

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

到同一个文件,它工作! 当然,之后你必须重启你的终端。

【讨论】:

  • 我的 ~/.bash_profile 中有同一行([[ -s "$HOME/...)",当我打开一个新终端时,这似乎没有“接受”。 ..但是当我在 ~/.bashrc 中的 PATH 行下方添加该行时,它确实起作用了——意思是,我可以键入 rvm use 1.9.3,它会立即将 rvm 识别为命令,而无需我首先键入 source ~/.bash_profile -- 我不是一个 linux 人,所以这让我很困惑,但我很高兴这能正常工作。也许有人可以澄清我的困惑。
  • 太好了,我把这行放在~/.bashrc 中,就可以了。但我也不知道为什么。
  • 是的,它的工作原理。但是每次我重新启动机器时,我都必须给出上述命令。如果我不提供命令,它会说 rvm 不是函数。
【解决方案2】:

您需要更改终端模拟器首选项以允许登录 贝壳。有时需要使用/bin/bash --login 作为 命令。

【讨论】:

    【解决方案3】:

    更改 ruby​​ 的默认版本:

    在 Ubuntu 11.10
    请更改您的 GNOME 终端设置:

    转到终端,然后按照以下说明进行操作:

    1.  Edit > Profile Preferences
    2.  Open Title and Command Tab               
    3.  Check Run Command as a login Shell 
    4.  Restart terminal
    

    在终端上运行这个命令:

    rvm --default use ruby_Version
    

    【讨论】:

      【解决方案4】:

      只有在为当前用户安装了 RVM 时,上述解决方案才有效。更通用的解决方案是使用 RVM 路径变量:

      # The following code loads RVM as user or system install:
      [[ -s "$rvm_path/scripts/rvm" ]] && . "$rvm_path/scripts/rvm"
      

      【讨论】:

      • rvm_path=/home/myuser/.rvm . /home/myuser/.rvm/scripts/rvm
      【解决方案5】:

      我有一个全局安装的 RVM,它运行 /etc/profile.d/rvm.sh。但是,该脚本需要设置 BASH_VERSION 或 ZSH_VERSION。我是从 crontab 运行的,它使用“sh”。

      我创建了一个使用 /bin/bash 来获取 /etc/profile.d/rvm.sh 的包装脚本。

      【讨论】:

        【解决方案6】:

        修复它。我需要补充:

        [[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"  # This loads RVM 
        

        .zshrc

        【讨论】:

          【解决方案7】:

          您的 shell 不知道 RVM 功能。安装后,它会告诉您如何处理此问题。或者访问 RVM 站点上的 install 页面并查看标题为“2. 将 RVM 作为函数加载到 shell 会话中”的部分

          运行一次,将加载 rvm 的行添加到 ~/.bash_profile:

          $ echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile
          

          或自己手动添加。 (请注意,在某些系统上,您可能希望将其放在其他位置,例如在我的系统 Mac OSX Lion 上,我将其放在 ~/.profile 中)

          【讨论】:

          • 我使用的是 OS X Snow Leopard,将那行放在我的 .profile 中对我来说是成功的。
          【解决方案8】:

          要将所有 RVM 功能添加到您的 .bash_profile 中,您应该使用以下命令:

          echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile
          

          之后,您应该重新加载当前 shell 或打开一个新的终端会话并键入以下命令以重新加载 .bash_profile:

          source .bash_profile
          

          【讨论】:

            【解决方案9】:

            在我的 Ubuntu 上,~/.bashrc 中的条目有:

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

            代替:

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

            注意 .和“$HOME。

            此外,如果这是问题所在,您还应该在启动终端时注意到顶部的错误。

            【讨论】:

              【解决方案10】:

              在全新安装 Ubuntu 12.04 时,我遇到了同样的问题。 RVM 安装程序会创建或附加到名为 ~/.bash_login 的文件中,以避免最初的问题:

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

              但是这似乎没有被调用。将它添加到 ~/.bashrc 为我解决了这个问题。

              【讨论】:

                【解决方案11】:

                安装 RVM,见这里http://octopress.org/docs/setup/rvm/

                【讨论】:

                • 不要使用非权威来源安装 RVM。 RVM installation page 明确表示:“请注意,任何外部教程都不受支持,无论它们是否有效。教程很棒,但是我们花费了大量的工时调试安装过程。请使用来自的安装过程仅限此站点,因为这是唯一受支持的安装类型和方法。”
                【解决方案12】:

                我只需要调用源代码~/.bash_profile

                【讨论】:

                  【解决方案13】:

                  (Kubuntu 11.10)~/.bash_profile 现在称为~/.profile

                  echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.profile
                  source ~/.profile
                  rvm info # And now the fields display
                  

                  【讨论】:

                    猜你喜欢
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 2010-12-31
                    • 1970-01-01
                    相关资源
                    最近更新 更多