8

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

$ rbenv 版本

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

$红宝石-v

ruby 2.0.0.p0

$ 环境 | 路径

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,甚至重新启动了计算机。

4

3 回答 3

10

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

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

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

于 2015-04-25T10:40:53.903 回答
1

rbenv 自述文件中提取:

rbenv 外壳

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

$ 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参数(ferbenv shell 2.0.0.p0或 set RBENV_VERSION(fe export RBENV_VERSION=2.0.0.p0)

于 2013-03-13T18:56:04.497 回答
0

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


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

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

免责声明

我有更深层次的权限问题,rbenv甚至没有工作,所以我之前做了chmod u+x ...其他

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

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

于 2019-12-31T16:31:43.713 回答