2011-01-08 8 views
2

J'utilise les rails Version 3.0.3 et ruby ​​Version 1.9.2p136 (2010-12-15) sur Windows Vista. console de script me donne l'erreur suivante:la console des rails ne fonctionne pas

environnement de développement de chargement (Rails 3.0.3) C: /privat/Ruby192/lib/ruby/site_ruby/1.9.1/rbreadline.rb: 2116: en block in _rl_read_init_file': invalid byte sequence in UTF 8 (ArgumentError) from C:/privat/Ruby192/lib/ruby/site_ruby/1.9.1/rbreadline.rb:2114:in each_line » à partir de C: /privat/Ruby192/lib/ruby/site_ruby/1.9.1/rbreadline.rb: 2114: dans _rl_read_init_file' from C:/privat/Ruby192/lib/ruby/site_ruby/1.9.1/rbreadline.rb:2080:in rl_read_init_file ' à partir de C: /privat/Ruby192/lib/ruby/site_ruby/1.9.1/rbreadline.rb : 2500: dans readline_initialize_everything' from C:/privat/Ruby192/lib/ruby/site_ruby/1.9.1/rbreadline.rb:3726:in rl_initialize ' de C: /privat/Ruby192/lib/ruby/site_ruby/1.9.1/rbreadline.rb: 4720: dans readline' from C:/privat/Ruby192/lib/ruby/site_ruby/1.9.1/readline.rb:40:in readline' de C: /privat/Ruby192/lib/ruby/1.9 .1/irb/input-method.rb: 115: en gets' from C:/privat/Ruby192/lib/ruby/1.9.1/irb.rb:139:in bloc (2 niveaux) dans eval_input ' à partir de C:/priv à/Ruby192/lib/ruby ​​/ 1.9.1/irb.rb: 273: dans signal_status' from C:/privat/Ruby192/lib/ruby/1.9.1/irb.rb:138:in bloc dans eval_input ' de C: /privat/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb: 188 : in call' from C:/privat/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb:188:in buf_input ' à partir de C: /privat/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb: 103: dans getc' from C:/privat/Ruby192/lib/ruby/1.9.1/irb/slex.rb:205:in match_io' à partir de C: /privat/Ruby192/lib/ruby/1.9 .1/irb/slex.rb: 75: dans match' from C:/privat/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb:286:in jeton ' de C: /privat/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb: 262: dans lex' from C:/privat/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb:233:in bloc (2 niveaux) dans each_top_level_statement ' de C: /privat/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb: 229: en loop' from C:/privat/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb:229:in bloc dans each_top_level_statement' de C: /privat/Ruby192/lib/ruby/1.9. 1/irb/ruby-lex.rb: 228: dans catch' from C:/privat/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb:228:in each_top_level_statement ' à partir de C:/pr ivat/Ruby192/lib/ruby ​​/ 1.9.1/irb.rb: 155: dans eval_input' from C:/privat/Ruby192/lib/ruby/1.9.1/irb.rb:70:in bloc dans le début ' de C: /privat/Ruby192/lib/ruby/1.9.1/irb.rb: 69: dans catch' from C:/privat/Ruby192/lib/ruby/1.9.1/irb.rb:69:in ' à partir de C: /privat/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/commands/console.rb: 44: dans start' from C:/privat/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/commands/console.rb:8:in start' à partir de C:/privat /Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/commands.rb:23:in <top (required)>' from script/rails:6:in require ' de script/rails: 6: dans `'

Que puis-je faire?

+0

Qu'est-ce que vous avez dans 'script/rails? – Nerian

+2

Avez-vous essayé d'exécuter 'rails console'? C'est comment lancer la console dans Rails3 (c'est-à-dire que vous n'utilisez plus les commandes 'script'). –

+0

Oui, la commande que j'ai utilisée est "rails console". – user331471

Répondre

0

Le problème est que Ruby1.9.2 a quelques problèmes avec l'encodage ... Vous devez vérifier si votre pilote db ne donne pas d'erreur .. Votre serveur fonctionne-t-il? Je vous recommande d'utiliser Ruby187

+1

1.8.7 résolu le problème. THX. – user331471

+0

Une idée pour résoudre ce problème avec les rails 1.9.2? – Tony

0

J'ai eu le même problème. J'ai passé des heures à essayer de le réparer, de reconstruire le rubis, etc ... Pour tout réglage de LANG = il échouait.

Enfin, j'ai découvert dans le code que c'était pendant le chargement du fichier init, c'est ~/.inputrc.

Mon $ HOME dans l'ordinateur problématique n'avait pas le ~/.inputrc ... J'ai essayé de créer un vide et ... travaillé!

Donc, essayez touch ~/.inputrc

0

Je viens de ce même problème rencontré avec des rails 4.1.1, et il est apparu que mon dossier ~/.inputrc a été codé en utilisant l'encodage ISO-8859-1. Après la conversion du fichier en UTF-8, tout a bien fonctionné:

$ iconv --from-code=ISO-8859-1 --to-code=UTF-8 ~/.inputrc >out 
$ mv out ~/.inputrc 

Pour vérifier ce que l'encodage de votre fichier inputrc est codé avec, utilisez:

$ file --mime-encoding ~/.inputrc 
Questions connexes