【问题标题】:Ruby file: "ruby_executable_hooks" syntax errorRuby 文件:“ruby_executable_hooks”语法错误
【发布时间】:2015-11-25 08:29:56
【问题描述】:

我正在尝试运行命令 rake db:migrate,但终端抱怨文件 ruby_executable_hooks 中可能存在语法错误。我找到了这个reference,但没有帮助我解决问题。在文件的第一行,看起来 title = "ruby #{ARGV*" "}" 导致了问题,因为双引号没有正确转义。我尝试了不同的转义组合,但仍然没有运气。所以现在我不确定问题是否真的与逃避问题或其他问题有关。非常感谢

请看下面的 ruby_executable_hooks 文件

  title = "ruby #{ARGV*" "}"
  $0    = ARGV.shift
  Process.setproctitle(title) if Process.methods.include?(:setproctitle)

  require 'rubygems'

  begin
    require 'executable-hooks/hooks'
    Gem::ExecutableHooks.run($0)
    rescue LoadError
    warn "unable to load executable-hooks/hooks" if ENV.key?
   ('ExecutableHooks_DEBUG')
  end

  eval File.read($0), binding, $0

错误信息:

 /Users/username/.rvm/gems/ruby-2.2.3/bin/ruby_executable_hooks:15:in `eval':
 /Users/username/.rvm/rubies/ruby-2.2.3/bin/rake:4: syntax error, unexpected
 tSTRING_BEG, expecting keyword_do or '{' or '(' (SyntaxError)
 exec "$bindir/ruby" -x "$0" "$@"
                    ^
 from /Users/username/.rvm/gems/ruby-2.2.3/bin/ruby_executable_hooks:15:in
 `<main>'

【问题讨论】:

  • 我无法理解您试图通过 title = "ruby #{ARGV*" "}" 表达什么,但您正在尝试将 Array 实例乘以 String 实例。你期望得到什么?
  • 我不想乘以任何东西 + 我没有写这个文件。它是一个gem文件,上面是它的默认配置。
  • 查看.rvm/gems/ruby-2.2.0/bin 可以看到文件长什么样。
  • 您是否使用 RVM 升级到 2.2.3?

标签: ruby-on-rails ruby gem rake


【解决方案1】:

找到了解决这个问题的方法

1 - delete the rake version from your system
2 - bundle install rake
3 - rake db:drop:all
4 - rake db:create:all
5 - rake db:migrate

由于某种原因,当我第一次使用命令 rake db:migrate 时,它​​损坏了 ruby​​_executable_hooks 文件(不知道为什么)。希望这会对某人有所帮助。

【讨论】:

  • 不应该是 2 gem install rake 吗?
【解决方案2】:

$ gem install rake

为我工作。不需要删除任何东西。令人困惑的是,但在其他人建议的耗时 rvm 重新安装之前尝试一下。

【讨论】:

    【解决方案3】:

    我遇到了同样的问题,并尝试了 Eduardo 的解决方案,但无济于事。对我有用的只是卸载我拥有的 ruby​​ 版本 (rvm uninstall 2.2.3) 并重新安装它。请注意,我根本没有接触数据库。

    【讨论】:

    • 我做了一个 gem 卸载 rake,它说它是一个默认的 gem,不能被删除。然后我写了 gem install rake 并且我的 rake 是固定的。
    • 有趣。我无法卸载或安装 rake。所以,我重置了我的 ruby​​ 安装并且成功了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多