Ruby文件:"ruby_executable_hooks"语法错误

Bob*_*Bob 10 ruby rake gem ruby-on-rails

我正在尝试运行命令rake db:migrate,但终端抱怨文件ruby_executable_hooks中可能存在语法错误.我找到了这个参考但没有帮助我解决问题.在文件的第一行,它看起来像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
Run Code Online (Sandbox Code Playgroud)

错误信息:

 /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>'
Run Code Online (Sandbox Code Playgroud)

Bob*_*Bob 7

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

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
Run Code Online (Sandbox Code Playgroud)

出于某种原因,当我第一次使用命令rake db:migrate时,它损坏了ruby_executable_hooks文件(不明白为什么).希望这会对某人有所帮助.

  • `gem install rake`为我解决了这个问题 (4认同)

oma*_*oma 7

$ gem install rake

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