Rbenv不工作

时间:2013-03-13 18:50:14

标签: ruby rbenv

我最后在〜/ .rbenv /版本中安装了ruby 2.0,现在除了可用之外什么都没有了

$ 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

$ env | grep PATH

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

$ cat~ / .bash_profile

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

$ rbenv global

ruby-1.9.3-p392

$ rbenv local

ruby-1.9.3-p392

$ rbenv shell

rbenv: no shell-specific version configured

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

$ rbenv shell

ruby-1.9.3-p392

ruby​​ -v仍在

ruby 2.0.0p0

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

3 个答案:

答案 0 :(得分:8)

我使用zsh遇到了同样的问题,并修复了它:

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

所以基本上将行从简介移动到env!

答案 1 :(得分:1)

摘自rbenv readme

  

rbenv shell

     

通过设置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参数(fe rbenv shell 2.0.0.p0,或设置RBENV_VERSION(fe export RBENV_VERSION=2.0.0.p0

答案 2 :(得分:0)

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 可能更容易,更安全。但这很有趣!