【发布时间】: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