【问题标题】:Confusing Error message when using Brew使用 Brew 时出现令人困惑的错误消息
【发布时间】:2015-07-30 12:53:45
【问题描述】:

每次我运行 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​​ 运行了一个非法命令,它会给我同样的错误信息。那么是不是因为我的版本问题?

【问题讨论】:

  • 那么,brew 根本不起作用,只是显示这些错误?
  • @ForceBru 似乎 brew 运行良好,但我不确定这个错误消息是否会损害功能。
  • 那你为什么不试试呢?
  • @ForceBru 我刚刚运行了命令“Ruby”,看起来问题出在 ruby​​ 上。但我确实安装了 ruby​​。" ruby​​ --version ruby​​ 2.0.0p247 (2013-06-27 revision 41674) [universal.x86_64-darwin13]"
  • 您可以按照我的回答中所述(重新)安装 Ruby

标签: ruby macos bash command-line homebrew


【解决方案1】:

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

【讨论】:

  • 我仍然无法解决这个问题——但我确实一次又一次地安装了 ruby​​。它不能解决问题。我安装的 Ruby 是最新版本
  • @HaoyuChen,你能从控制台运行一个简单的 ruby​​ 脚本,还是会出现同样的错误?
  • 哦,我试过了,它可以运行 'puts "hello world"' 。它不会给出任何错误。
【解决方案2】:

由于在 bash 配置文件设置期间对 RVM 进行了源化,我遇到了此错误。 似乎 RVM 脚本无法处理多次向同一个 shell 中的来源。

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

我的解决方案是将 RVM 源代码封装在我的 .bashrc 中,并检查 $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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-11
    • 2022-11-22
    • 1970-01-01
    • 2014-10-11
    • 1970-01-01
    • 1970-01-01
    • 2018-03-14
    • 1970-01-01
    相关资源
    最近更新 更多