输出与使用rvm设置ruby时的预期不同

输出与使用rvm设置ruby时的预期不同,ruby,rvm,Ruby,Rvm,我刚刚尝试在macOS上安装RVM,但在确认安装是否有效时,得到了一个奇怪的输出 具体而言,当我这样做时: which gem 我得到: gem () { \typeset result ( \typeset rvmrc rvm_rvmrc_files=("/etc/rvmrc" "$HOME/.rvmrc") if [[ -n "${rvm_prefix:-}" ]] && ! [[ "$HOME/.rvmrc" -ef "${rvm_prefix}/

我刚刚尝试在macOS上安装RVM,但在确认安装是否有效时,得到了一个奇怪的输出

具体而言,当我这样做时:

which gem
我得到:

gem () {
\typeset result
(
    \typeset rvmrc
    rvm_rvmrc_files=("/etc/rvmrc" "$HOME/.rvmrc")
    if [[ -n "${rvm_prefix:-}" ]] && ! [[ "$HOME/.rvmrc" -ef "${rvm_prefix}/.rvmrc" ]]
    then
        rvm_rvmrc_files+=("${rvm_prefix}/.rvmrc")
    fi
    for rvmrc in "${rvm_rvmrc_files[@]}"
    do
        [[ -s "${rvmrc}" ]] && source "${rvmrc}" || true
    done
    unset rvm_rvmrc_files
    command gem "$@"
) || result=$?
hash -r
return ${result:-0}
}

不知道它为什么这么做。有人有什么想法吗?

这是RVM的正常行为。它将
gem
作为shell函数加载,以便在调用命令时执行内部逻辑。您可以知道,因为它返回了一个名为
gem()
的shell函数。好的,太好了,谢谢!如果您不喜欢RVM的方法,您可能希望查看rbenv: