ruby:别名为bundled_ruby

Cod*_*ama 8 ruby rbenv

当我输入which ruby它总是返回ruby: aliased to bundled_ruby

当我尝试which bundled_ruby它返回:

bundled_ruby () {
    _run-with-bundler ruby $@
}
Run Code Online (Sandbox Code Playgroud)

然后我尝试which _run-with-bundler它返回:

_run-with-bundler () {
    if _bundler-installed && _within-bundled-project
    then
        bundle exec $@
    else
        $@
    fi
}
Run Code Online (Sandbox Code Playgroud)

这一切是从哪里来的,我如何which ruby重新开始工作?

我正在使用OSX(v10.8.2),brew,rbenv,ruby-build,zsh

cbl*_*ard 16

它可以来自bundler插件oh-my-zsh.

它使用魔术来避免bundle exec在以下命令之前键入:annotate berks cap capify cucumber foodcritic foreman guard jekyll kitchen knife middleman nanoc rackup rainbows rake rspec ruby shotgun spec spin spork strainer tailor taps thin thor unicorn unicorn_rails puma

您可以通过UNBUNDLED_COMMANDS在加载oh-my-zsh插件之前在〜/ .zshrc中定义环境变量来禁用某些命令的魔法(参见oh-my-zsh pull request#2195).

export UNBUNDLED_COMMANDS=ruby
# for a list of commands
export UNBUNDLED_COMMANDS=(ruby irb rake)
Run Code Online (Sandbox Code Playgroud)

或者你可以简单地bundler从你的oh-my-zsh插件中删除插件.


ckr*_*use 5

这是rbenv“魔术”的一部分,用于处理具有多个宝石版本的多个红宝石版本。看一看~/.rbenv/shims/ruby,IIRC脚本在那里定义。

如果要禁用此功能,只需unalias ruby:这将删除生成的别名。