2010-11-08 27 views
11

Cuando trato de ejecutar 'rails server' me está dando un error al decir que no puede encontrar 'jcode', y creo que jcode es una lib de ruby ​​predeterminada. ¿Tienen alguna idea de lo que está pasando?no 'jcode' gema cuando se ejecuta el servidor de rieles

/Users/seanfchan/.rvm/gems/[email protected]/gems/gdata-1.1.1/lib/gdata.rb:21:in `require': no such file to load -- jcode (LoadError) 
from /Users/seanfchan/.rvm/gems/[email protected]/gems/gdata-1.1.1/lib/gdata.rb:21:in `<top (required)>' 
from /Users/seanfchan/.rvm/gems/[email protected]/gems/contacts-1.2.4/lib/contacts/gmail.rb:1:in `require' 
from /Users/seanfchan/.rvm/gems/[email protected]/gems/contacts-1.2.4/lib/contacts/gmail.rb:1:in `<top (required)>' 
from /Users/seanfchan/.rvm/gems/[email protected]/gems/contacts-1.2.4/lib/contacts.rb:6:in `require' 
from /Users/seanfchan/.rvm/gems/[email protected]/gems/contacts-1.2.4/lib/contacts.rb:6:in `<top (required)>' 
from /Users/seanfchan/.rvm/gems/[email protected]/gems/bundler-1.0.3/lib/bundler/runtime.rb:64:in `require' 
from /Users/seanfchan/.rvm/gems/[email protected]/gems/bundler-1.0.3/lib/bundler/runtime.rb:64:in `block (2 levels) in require' 
from /Users/seanfchan/.rvm/gems/[email protected]/gems/bundler-1.0.3/lib/bundler/runtime.rb:62:in `each' 
from /Users/seanfchan/.rvm/gems/[email protected]/gems/bundler-1.0.3/lib/bundler/runtime.rb:62:in `block in require' 
from /Users/seanfchan/.rvm/gems/[email protected]/gems/bundler-1.0.3/lib/bundler/runtime.rb:51:in `each' 
from /Users/seanfchan/.rvm/gems/[email protected]/gems/bundler-1.0.3/lib/bundler/runtime.rb:51:in `require' 
from /Users/seanfchan/.rvm/gems/[email protected]/gems/bundler-1.0.3/lib/bundler.rb:112:in `require' 
from /Users/seanfchan/RubyPractice/gettingContancts/config/application.rb:7:in `<top (required)>' 
from /Users/seanfchan/.rvm/gems/[email protected]/gems/railties-3.0.1/lib/rails/commands.rb:28:in `require' 
from /Users/seanfchan/.rvm/gems/[email protected]/gems/railties-3.0.1/lib/rails/commands.rb:28:in `block in <top (required)>' 
from /Users/seanfchan/.rvm/gems/[email protected]/gems/railties-3.0.1/lib/rails/commands.rb:27:in `tap' 
from /Users/seanfchan/.rvm/gems/[email protected]/gems/railties-3.0.1/lib/rails/commands.rb:27:in `<top (required)>' 
from script/rails:6:in `require' 
from script/rails:6:in `<main>' 

sistema: Mac OS X Snow Leopard
Ruby: RVM 1.9.2
Rieles: 3.0.1
gema: 1.3.7
tratando de utilizar joya 'contactos'

Gracias,
Sean Chan

Respuesta

17

Parece que la biblioteca que está utilizando no se actualizó para Ruby 1.9.

Ruby> = 1.9 no tiene jcode, un módulo para manejar cadenas japonesas (EUC/SJIS), ya que admite unicode de forma nativa.

Es posible que desee ver de una nueva versión de la biblioteca está disponible, de lo contrario se puede ver en la fuente y encontrar donde está requiriendo de código Java, y reemplazarlo con

require 'jcode' if RUBY_VERSION < '1.9' 
+0

Gracias Marcos que hizo el truco – Sarindipity

+0

Soy nuevo al rubí, y consiguió el mismo error. ¿Puedes decirme el archivo exacto donde poner este código? – Bongs

+0

@Bongs: el mensaje de error le dice exactamente qué archivo y línea. –

5

Debemos comprobar la lib carpeta que se presenta bajo el archivo gem de gdata.

añadir esta línea:

require 'jcode' if RUBY_VERSION < '1.9' 

en el archivo lib/gdata.rb.

2

otra solución, poner esto en su Gemfile:

gem 'gdata_19', '1.1.5' 
gem 'contacts', :git => '[email protected]:eofferma/contacts.git' 
+0

Solo tuve que cambiar a: gem 'gdata_19', '1.1.5' – whizcreed

Cuestiones relacionadas