【问题标题】:Can't change RVM default无法更改 RVM 默认值
【发布时间】:2012-05-24 19:32:24
【问题描述】:

我在更改默认 ruby​​ 时遇到问题。运行 OS X Lion。

macbook:~ work$ rvm list
rvm rubies

=* ruby-1.9.2-p290 [ x86_64 ]
   ruby-1.9.2-p318 [ x86_64 ]

如您所见,1.9.2-p290 是默认的。

macbook:~ work$ rvm use --default ruby-1.9.2-p318
Using /usr/local/rvm/gems/ruby-1.9.2-p318
macbook:~ work$ rvm list

rvm rubies

* ruby-1.9.2-p290 [ x86_64 ]
=> ruby-1.9.2-p318 [ x86_64 ]

运行 rvm use --default ruby​​-1.9.2-p318 后,Ruby 发生了变化,但默认仍然是 p290。下次我重新打开 shell 时,使用的 ruby​​ 是 p290。

有什么想法吗?

谢谢。

【问题讨论】:

    标签: ruby rvm


    【解决方案1】:

    您有多用户安装,但我也提供用户安装的信息/说明。

    对于多用户安装:

    多用户安装使用 /etc/profile.d/rvm.sh - 每次生成任何 shell 时都会获取此文件,这包括当您登录时,您所做的任何事情都已经在加载的早期默认值的上下文中工作。

    您需要重新启动计算机才能生效。

    对于用户安装:

    您需要更新您的 .*rc 配置文件以使--default 生效:

    rvm get stable --auto
    

    然后重新启动您的计算机。

    两者都需要重启

    需要重新启动,因为在登录之前/登录时加载了较早的默认值,随着更新的配置文件,加载点会移动到适当的位置,并且更改默认值应该没有更多问题。

    脚本中的默认值

    当 RVM 用作 $rvm_path/bin/rvm 中的二进制文件时,它不能设置 --default,因为它绑定到 use 并且在脚本模式下无法使用,您可以使用以下命令来管理默认值:

    rvm alias delete default 
    rvm alias create default 1.9.3
    

    并使其生效(替换rvm use default):

    source $(rvm default do rvm env --path)
    

    【讨论】:

    • 嗨,是的,我正在使用多用户。所以你的意思是对于我的情况,在我执行 --default 命令之后,我需要重新启动我的计算机才能让它工作?我已经重新启动了,但默认值仍然没有改变。
    • 请开票:github.com/wayneeseguin/rvm/issues 并包含rvm --trace alias create default 1.9.3 的输出。
    • 再试一次,rvm alias create default 现在可以工作了。我想知道之前有什么问题。非常感谢您的帮助@mpapis
    • 我在多用户安装时遇到了同样的问题。我错过了将我的用户添加到“rvm”组的步骤。 usermod -a -G rvm myuser 做到了,然后就设置好了
    • rvm group add rvm $USER 也能做到这一点并且适用于所有平台
    【解决方案2】:

    我遇到了同样的问题,发现这让我很开心:

    sudo rvm alias create default <ruby-version>
    

    和/或

    rvm use <ruby-version> --default
    

    这对我有用,将默认值更改为 1.9.3

    【讨论】:

      【解决方案3】:

      试试 rvm --default (不是 rvm 使用 --default )。它对我有用

      rvm list
      
      rvm rubies
      
      ruby-1.9.2-p318 [ x86_64 ]
      =* ruby-1.9.3-p125 [ x86_64 ]
      
      # => - current
      # =* - current && default
      #  * - default
      

      你可以看到现在1.9.3是默认的

      rvm --default ruby-1.9.2-p318
      
      
      rvm list
      
      rvm rubies
      
      =* ruby-1.9.2-p318 [ x86_64 ]
         ruby-1.9.3-p125 [ x86_64 ]
      
      # => - current
      # =* - current && default
      #  * - default
      

      【讨论】:

        【解决方案4】:

        当 RVM 对 ~/.rvm 没有写入权限时,您会得到此行为

        像这样修复它:(当然在切换您的用户代码/组之后)

        sudo chown -R nick:staff ~/.rvm

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-12-14
          • 2020-08-02
          • 1970-01-01
          • 1970-01-01
          • 2023-03-13
          • 1970-01-01
          相关资源
          最近更新 更多