2015-08-31 5 views
10

Ich versuche, den Befehl rake db auszuführen: wandern aber das Terminal in der Datei ruby_executable_hooks über einen möglichen Syntaxfehler beschweren. Ich fand diese reference aber half mir nicht, das Problem zu lösen. In der ersten Zeile der Datei sieht es folgendermaßen aus: title = "ruby # {ARGV *" "}" verursacht das Problem, da die doppelten Anführungszeichen nicht korrekt maskiert werden. Ich habe verschiedene Kombinationen von Flucht versucht, aber immer noch kein Glück. So, jetzt bin ich mir nicht sicher, ob das Problem wirklich im Zusammenhang mit der Flucht Probleme oder etwas anderes ist. Vielen DankRuby-Datei: „ruby_executable_hooks“ Syntaxfehler

Bitte beachten Sie die ruby_executable_hooks Datei unten

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 

Fehlermeldung:

/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" "[email protected]" 
        ^
from /Users/username/.rvm/gems/ruby-2.2.3/bin/ruby_executable_hooks:15:in 
`<main>' 
+0

Ich kann nicht bekommen, was Sie versucht haben, durch 'title =" Ruby # {ARGV * ""} "auszudrücken, aber Sie versuchen,' Array' Instanz durch 'String' Instanz zu multiplizieren. Was erwartest du zu bekommen? – mudasobwa

+0

Ich versuche nicht, alles zu multiplizieren + Ich habe diese Datei nicht geschrieben. Es ist eine gem-Datei und das obige ist seine Standardkonfiguration. – Bob

+0

Schauen Sie in .rvm/edelsteine ​​/ ruby-2.2.0/bin können Sie sehen, wie die Datei aussieht. – Bob

Antwort

7

Fand die Lösung für dieses Problem

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 

Aus irgendeinem Grund, wenn ich zum ersten Mal benutzte den Befehl rake db: migrate it corrup Ted die ruby_executable_hooks Datei (keine Ahnung warum). Hoffe, das wird jemandem helfen.

+3

'gem install rake installieren 'löste das Problem für mich –

+0

Sollte nicht 2' Gem Rake installieren 'sein? – jbnunn

2

Ich stieß auf das gleiche Problem und versuchte Eduardo's Lösung vergebens. Was für mich funktionierte, war einfach die Ruby-Version zu deinstallieren (rvm uninstall 2.2.3) und neu zu installieren. Beachten Sie, dass ich die Datenbank überhaupt nicht berührt habe.

+1

Ich habe ein Juwel Rake zu deinstallieren, es sagte, es ist ein Standard-Juwel und kann nicht gelöscht werden. Dann habe ich gem install rake geschrieben und mein Rake wurde behoben. – nurettin

+1

Interessant. Ich konnte Rake weder deinstallieren noch installieren. Also habe ich meine Rubin-Installation zurückgesetzt und das hat funktioniert. – Yevgeniy

5

$ gem install rake

für mich gearbeitet. Ich musste nichts löschen. Verwirrend ist es, aber versuchen Sie es, bevor die zeitraubende rvm wiederinstalliert andere vorschlagen.