我最后在〜/ .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,甚至重新启动了计算机。
答案 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 可能更容易,更安全。但这很有趣!