rbenv shell不是命令。

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]
2个回答

10
在 rbenv 的 README 中有一个关于 `shell` 命令的注释(参见安装):

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

第3步是:

Add rbenv init to your shell to enable shims and autocompletion.

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

Same as in previous step, use ~/.profile on Ubuntu, ~/.zshrc for Zsh.

你按照那个指示做了吗?


5

我还没有在互联网上看到的一个技巧是,在.bash_profile文件中,你要确保

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

放置在之前

eval "$(rbenv init -)"

否则,shell 将在找到之前尝试运行 rbenv init。
将这两行代码颠倒顺序会导致 OP 描述的两个问题:
- ruby -v 不显示由 rbenv 设置的版本。 - rbenv shell 返回 "rbenv: no such command `shell’"。
不要问我怎么知道!
今天我在 Github 上开了一个 issue,提议更新 sstephenson 已经很棒的文档。

在我的系统Antergos(适合心脏较弱的人的Arch),这必须放在.bashrc文件中,而不是.bash_profile文件中,因此您可能已经将正确的行放在了错误的文件中,但顺序正确。 - Jeremy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接