нет драгоценного камня "jcode" при работе сервера rails - PullRequest
11 голосов
/ 08 ноября 2010

Когда я пытаюсь запустить 'rails server', я получаю сообщение об ошибке, в котором говорится, что он не может найти 'jcode', и я думаю, что jcode является библиотекой ruby ​​по умолчанию. Ребята, вы понимаете, что происходит?

/Users/seanfchan/.rvm/gems/ruby-1.9.2-p0@global/gems/gdata-1.1.1/lib/gdata.rb:21:in `require': no such file to load -- jcode (LoadError)
 from /Users/seanfchan/.rvm/gems/ruby-1.9.2-p0@global/gems/gdata-1.1.1/lib/gdata.rb:21:in `<top (required)>'
 from /Users/seanfchan/.rvm/gems/ruby-1.9.2-p0@global/gems/contacts-1.2.4/lib/contacts/gmail.rb:1:in `require'
 from /Users/seanfchan/.rvm/gems/ruby-1.9.2-p0@global/gems/contacts-1.2.4/lib/contacts/gmail.rb:1:in `<top (required)>'
 from /Users/seanfchan/.rvm/gems/ruby-1.9.2-p0@global/gems/contacts-1.2.4/lib/contacts.rb:6:in `require'
 from /Users/seanfchan/.rvm/gems/ruby-1.9.2-p0@global/gems/contacts-1.2.4/lib/contacts.rb:6:in `<top (required)>'
 from /Users/seanfchan/.rvm/gems/ruby-1.9.2-p0@global/gems/bundler-1.0.3/lib/bundler/runtime.rb:64:in `require'
 from /Users/seanfchan/.rvm/gems/ruby-1.9.2-p0@global/gems/bundler-1.0.3/lib/bundler/runtime.rb:64:in `block (2 levels) in require'
 from /Users/seanfchan/.rvm/gems/ruby-1.9.2-p0@global/gems/bundler-1.0.3/lib/bundler/runtime.rb:62:in `each'
 from /Users/seanfchan/.rvm/gems/ruby-1.9.2-p0@global/gems/bundler-1.0.3/lib/bundler/runtime.rb:62:in `block in require'
 from /Users/seanfchan/.rvm/gems/ruby-1.9.2-p0@global/gems/bundler-1.0.3/lib/bundler/runtime.rb:51:in `each'
 from /Users/seanfchan/.rvm/gems/ruby-1.9.2-p0@global/gems/bundler-1.0.3/lib/bundler/runtime.rb:51:in `require'
 from /Users/seanfchan/.rvm/gems/ruby-1.9.2-p0@global/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/ruby-1.9.2-p0@global/gems/railties-3.0.1/lib/rails/commands.rb:28:in `require'
 from /Users/seanfchan/.rvm/gems/ruby-1.9.2-p0@global/gems/railties-3.0.1/lib/rails/commands.rb:28:in `block in <top (required)>'
 from /Users/seanfchan/.rvm/gems/ruby-1.9.2-p0@global/gems/railties-3.0.1/lib/rails/commands.rb:27:in `tap'
 from /Users/seanfchan/.rvm/gems/ruby-1.9.2-p0@global/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>'

Система: Mac OSx Snow Leopard
Рубин: RVM 1.9.2
Рельсы: 3.0.1
Драгоценный камень: 1.3.7
пытаясь использовать камень "контакты"

Спасибо
Шон Чан

Ответы [ 3 ]

17 голосов
/ 08 ноября 2010

Похоже, что используемая вами библиотека не была обновлена ​​для Ruby 1.9.

Ruby> = 1.9 не имеет jcode, модуля для обработки строк на японском языке (EUC / SJIS), поскольку он поддерживаетUnicode изначально.

Возможно, вы захотите увидеть более новую версию библиотеки, в противном случае вы можете посмотреть на источник и найти, где он требует jcode, и заменить его на

require 'jcode' if RUBY_VERSION < '1.9'
5 голосов
/ 07 сентября 2011

Мы должны проверить папку lib, которая представлена ​​в файле gem gdata.

Добавить эту строку:

require 'jcode' if RUBY_VERSION < '1.9'

в файле lib/gdata.rb.

2 голосов
/ 09 декабря 2012

Другое решение, поместите это в свой gemfile:

gem 'gdata_19', '1.1.5'
gem 'contacts', :git => 'git@github.com:eofferma/contacts.git'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...