【问题标题】:rbenv shell not commandrbenv shell 不是命令
【发布时间】:2013-09-08 07:22:53
【问题描述】:

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]

【问题讨论】:

    标签: ruby installation rbenv


    【解决方案1】:

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

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

    第三步是:

    将 rbenv init 添加到您的 shell 以启用 shims 和自动补全。

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

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

    您是否按照该说明进行操作?

    【讨论】:

      【解决方案2】:

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

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

      放在前面

      eval "$(rbenv init -)"
      

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

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

      ruby -v 没有显示 rbenv 设置的版本

      rbvenv shell 返回“rbenv: no such command `shell'”。

      别问我怎么知道的!

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

      【讨论】:

      • 在我的系统上,Antergos (Arch for the weak of heart),这必须在 .bashrc,而不是 .bash_profile,所以也有可能你在错误的文件中有正确的行但正确的顺序。
      猜你喜欢
      • 1970-01-01
      • 2016-04-29
      • 1970-01-01
      • 1970-01-01
      • 2017-03-08
      • 2014-02-12
      • 1970-01-01
      • 2022-06-14
      • 2013-07-11
      相关资源
      最近更新 更多