4

安装了rbenv。但 rbenv shell 不是命令。

ationtekiMacBook-Air:~ dation$ rbenv versions
  system
* 2.0.0-p247 (set by /Users/dation/.ruby-version)
dationtekiMacBook-Air:~ dation$ rbenv version
2.0.0-p247 (set by /Users/dation/.ruby-version)
dationtekiMacBook-Air:~ dation$ rbenv shell
rbenv: no such command `shell'

ationtekiMacBook-Air:~ dation$ ruby -v
ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0]
4

2 回答 2

10

在 rbenv 的 README(参见Installation)中有这个关于shell命令的注释:

请注意,您需要启用 rbenv 的 shell 集成(安装说明的第 3 步)才能使用此命令。

第 3 步是:

将 rbenv init 添加到您的 shell 以启用 shims 和自动完成功能。

$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile

与上一步相同,在 Ubuntu 上使用 ~/.profile,在 Zsh 上使用 ~/.zshrc。

您是否遵循了该指示?

于 2013-09-08T08:12:26.817 回答
5

我没有看到在互联网上发布的一个问题是在 .bash_profile 中,您必须确保

export PATH="$HOME/.rbenv/bin:$PATH"

放在前面

eval "$(rbenv init -)"

否则,shell 会在找到之前尝试运行 rbenv init。

颠倒这两行将导致 OP 描述的两个问题;

ruby -v不显示 rbenv 设置的版本

rbvenv shell返回“rbenv:没有这样的命令‘shell’”。

别问我怎么知道的!

我今天在 Github 上打开了一个问题,提议对 sstephenson 已经很棒的文档进行更新。

于 2014-09-11T20:19:16.793 回答