【问题标题】:Rbenv not workingrbenv 不工作
【发布时间】:2013-03-01 21:31:21
【问题描述】:

我最后将 ruby​​ 2.0 安装到 ~/.rbenv/versions 中,但现在什么都没有了

$ rbenv 版本

system
*ruby-1.9.3-p392 (set by /apps/test_app/.ruby-version)
ruby-2.0.0-p0

$ ruby​​ -v

ruby 2.0.0.p0

$ 环境 | grep 路径

PATH=/home/cbron/.rbenv/shims:/home/cbron/.rbenv/bin

$cat ~/.bash_profile

export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"

$rbenv 全局

ruby-1.9.3-p392

$rbenv 本地

ruby-1.9.3-p392

$rbenv 外壳

rbenv: no shell-specific version configured

编辑:现在设置外壳,仍然没有。

$rbenv 外壳

ruby-1.9.3-p392

ruby -v 还在获取

ruby 2.0.0p0

我已经获取了我的 bash_profile,甚至重新启动了计算机。

【问题讨论】:

    标签: ruby rbenv


    【解决方案1】:

    我在使用 zsh 时遇到了同样的问题,这解决了它:

    $ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshenv
    $ echo 'eval "$(rbenv init -)"' >> ~/.zshenv
    $ echo 'source $HOME/.zshenv' >> ~/.zshrc
    $ exec $SHELL
    

    所以基本上将行从配置文件移动到环境!

    【讨论】:

      【解决方案2】:

      摘自rbenv readme:

      rbenv 外壳

      通过设置 RBENV_VERSION 设置特定于 shell 的 Ruby 版本 shell 中的环境变量。此版本覆盖 特定于应用程序的版本和全球版本。

      $ rbenv shell jruby-1.7.1
      

      在没有版本号的情况下运行时,rbenv shell 报告当前 RBENV_VERSION 的值。您也可以取消设置 shell 版本:

      $ rbenv shell --unset
      

      请注意,您需要启用 rbenv 的 shell 集成(第 3 步) 安装说明)以使用此命令。如果你比较喜欢 不使用 shell 集成,您可以简单地设置RBENV_VERSION 自己变量:

      $ export RBENV_VERSION=jruby-1.7.1
      

      因此,为了使用它,您需要将 ruby​​ 版本指定为rbenv shell 参数(例如rbenv shell 2.0.0.p0,或设置RBENV_VERSION(例如导出RBENV_VERSION=2.0.0.p0

      【讨论】:

      • 是的,我明白了,但是如果我在一个指定 ruby​​ 版本的目录中,它不会选择它吗?还是我必须指定不同的 shell 版本?
      • 如果你在一个有.ruby-version文件的目录中,你应该使用rbenv local,而不是rbenv shell,它设置了per-shell ruby​​版本,不属于目录配置
      • rbenv local: ruby​​-1.9.3-p392。我也尝试设置 shell,但它仍然卡在 ruby​​ 2.0 上。
      • uhmmmm 复制并粘贴到你的 shell 中:source ~/.bash_profile && rbenv shell 1.9.3-p392 && ruby -v 输出是什么?
      • 你们有没有想过这个?
      【解决方案3】:

      TL;DR:只要重新安装rbenv,除非你和我一样固执...


      我弄乱了.rbenv 文件夹中的权限,所以shims 没有加载,因为它们没有执行权限

      chmod u+x ~/.rbenv/shims/*
      

      免责声明

      我遇到了更深层次的权限问题,rbenv 甚至无法正常工作,所以我之前做了其他 chmod u+x ...

      chmod u+x ~/.rbenv/libexec/*
      chmod u+x ~/.rbenv/**/bin/*
      

      重新安装 rbenv 可能更容易、更安全。但这很有趣!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-03-12
        • 2015-03-24
        • 2018-04-16
        • 1970-01-01
        • 1970-01-01
        • 2012-08-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多