【问题标题】:Zsh & RVM woes (rvm-prompt doesn't resolve)Zsh & RVM 问题(rvm-prompt 无法解决)
【发布时间】:2011-07-09 16:39:07
【问题描述】:

我最近看到了光明并改用 Zsh。我很自然地使用 Oh My Zsh 来配置它,因为我很菜鸟。所以,有几个主题包含rvm-prompt,这就是我的问题开始了。每次我加载 Zsh 时,我都必须 rvm reload 否则 rvm-prompt 无法解析(zsh: command not found: rvm-prompt)。请注意,它在我重新加载后解决得很好。此外,当我进入一个拥有自己的 .rvmrc (其他 gemset)的目录然后我退出它时,也会出现同样的问题;我不得不再次重新加载 Zsh。 我在$PATH 中有 RVM。我有

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

在我的.zshrc

我正在使用 RVM 插件。有谁知道怎么回事?不是真正的表演终结者,只是烦人。

【问题讨论】:

    标签: rvm zsh zshrc


    【解决方案1】:

    为 rvm-prompt 创建一个别名。这是最确定的答案。按以下顺序排列 .zshrc 文件中的内容:

    1. alias rvm-prompt=$HOME/.rvm/bin/rvm-prompt
    2. source $ZSH/oh-my-zsh.sh
    3. [[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"

    如果 oh-my-zsh (OMZ) 在 RVM 之前加载,which rvm-prompt 会静默失败,因此即使在 RVM 之后它在您的路径中,您也不会在提示符中看到 RVM(如果您的主题支持)加载。

    如果 RVM 在 OMZ 之前加载,您可能会收到 zsh: command not found: rvm-prompt

    将您的 rvm-prompt 别名为它的实际位置似乎可以解决问题,不管 RVM 和 OMZ 是按哪个顺序加载的。我仍然建议在底部使用 RVM。

    按照上面的建议将 RVM 加载到 .zshenv 会在 iTerm 2 中加载 RVM 两次(不,它不在我的 .zshrc 中)并且会导致提示显示“系统”,即使 rvm-prompt rvm current 展示了一个特定的 ruby​​ 版本和 gemset。

    【讨论】:

    • 很好,杰森加伯。看起来最新的 rvm 试图将 ~/.rvm/bin 添加到执行此操作的路径中,但它碰巧迟到了。至于您的提示,我将采购移至文件底部。 gist.github.com/1973583
    • 很好地抓住自己!没有别名,您的方式效果很好。
    • 我的 rvm-promt 什么也没返回。但 rvm current 似乎工作正常。
    • 这对我有用export RVM_HOME=/usr/local/rvm && PATH=$PATH:$RVM_HOME/bin
    【解决方案2】:

    在将[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" 放入.zshenv 文件而不是.zshrc 文件之前,我遇到了同样的问题。

    【讨论】:

    • 这导致我在提示的 rvm 部分看到 ‹system›,尽管 rvm current 另有报告。更好的解决方案是使用别名,如下所述。
    【解决方案3】:

    不确定这是否能解决您的问题,但无论如何都值得一试。

    在最近更新 rvm 后,我在 oh-my-zsh 上遇到了类似的问题。我卸载了 rvm 和 oh-my-zsh 然后重新安装(首先安装 oh-my-zsh,因为如果你先安装 rvm,它会将一堆或 rvm 路径复制到你的~/.zshrc 中)。

    除了rvm-prompt 无法在新的终端窗口中正常工作外,一切都变得更好了。我在~/.zshrc 的末尾添加了以下内容,现在一切正常:

    rvm use default
    

    我认为 rvm 和 oh-my-zsh 的加载顺序与最新版本的 rvm 存在某种先有鸡还是先有蛋的问题。不知道应该归咎于哪一个,但我希望他们中的一个或两个都能解决它!

    【讨论】:

    • 首选的方法是按照@johnernaut 的建议转移到.zshenv
    【解决方案4】:

    摆脱它的最简单方法是安装 RVM(Ruby 虚拟管理器)。然后你会真正欣赏这个主题。

    curl -sSL https://get.rvm.io | bash
    

    之后问题自行解决..

    【讨论】:

      【解决方案5】:

      这个问题实际上在 rvm 的 zsh-FAQ 中得到了解决。

      http://beginrescueend.com/integration/zsh/

      添加 __rvm_project_rvmrc 到您的 .zshrc 即可解决问题。

      我将其添加为答案,因为我只是在谷歌搜索问题时发现了这一点,而上述解决方案只是将 ruby​​ 版本设置为 rvm 的默认值,并且不适用于 gemsets。

      【讨论】:

      • 这对我不起作用。按照上面的答案使用.zshenv
      【解决方案6】:

      将以下内容添加到~/.zshrc 中

      alias rvm-prompt=$HOME/.rvm/bin/rvm-prompt
      

      保存

      source ~/.zshrc
      

      参考:http://xufei.logdown.com/posts/2012/09/09/zsh-rake-rvm-prompt

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-01
        • 2011-06-12
        • 2011-10-08
        相关资源
        最近更新 更多