使用Brew时出现混淆错误消息

时间:2015-05-18 21:22:43

标签: ruby macos bash command-line homebrew

每当我运行brew命令时,它会在开头给我几个错误行。我无法理解这里发生了什么。任何人都可以告诉我如何摆脱错误?

brew
/bin/sh: __rvm_ruby_string_find: line 8: syntax error near unexpected token `('
/bin/sh: __rvm_ruby_string_find: line 8: ` ruby-+([1-9]) | ruby-+([1-9]).+([0-9]) | ruby-1.+([1-9]).+([0-9]) | jruby-[19]*)'
/bin/sh: error importing function definition for `__rvm_ruby_string_find'
/bin/sh: __rvm_project_ruby_env_load_parse_file: line 9: syntax error near unexpected token `('
/bin/sh: __rvm_project_ruby_env_load_parse_file: line 9: ` __rvm_read_lines __variables <( { cat "$1"; echo ""; } | __rvm_sed "${__sed_commands[@]}" )'
/bin/sh: error importing function definition for `__rvm_project_ruby_env_load_parse_file'
/bin/sh: __rvm_remove_without_gems: line 2: syntax error near unexpected token `('
/bin/sh: __rvm_remove_without_gems: line 2: ` __rvm_read_lines __gems_to_remove <('
/bin/sh: error importing function definition for `__rvm_remove_without_gems'

现在我发现如果我为ruby运行非法命令,它会给我一个相同的错误消息。那是因为我的版本问题? enter image description here

2 个答案:

答案 0 :(得分:0)

在我看来,你需要先安装ruby,因为你收到的错误来自BASH(它试图将脚本解析为bash但不成功)。不知道你是如何在没有ruby的情况下安装Homebrew的。

答案 1 :(得分:0)

由于在bash配置文件设置期间RVM被源处理,我遇到了这个错误。 似乎RVM脚本无法处理多次进入同一个shell的过程。

这是由ssh-agent之类的命令触发的,这些命令会产生一个新的子shell,或者只是再次运行bash

我的解决方案是在我的.bashrc中包含RVM源代码并检查$rvm_version变量:

if [ -z "$rvm_version" ]; then
    export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting

    [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
fi