Бандлер Джруби и Джсон-Джруби - PullRequest
2 голосов
/ 21 февраля 2012

Я использую jruby 1.5.2 в качестве производственной среды и пытаюсь переместить управление зависимостями из gem_tools в 'bundler'.

Когда я извлекаю код на сервере и запускаю «комплектную установку», он выдает следующие ошибки: Не удалось найти gem 'json-jruby (~> 1.5.0) ruby' ни в одном из источников драгоценных камней, перечисленных в вашем Gemfile

Я также попробовал jruby -S gem установить json-jruby, а затем попробовал параметр: path в Gemfile, после чего я получил следующую ошибку:

Не удалось найти гем 'json-jruby (> = 0) java' в источнике по адресу /usr/local/jruby-1.5.2/lib/ruby/gems/1.8/gems/json-jruby-1.5.0- Джава. Источник не содержит ни одной версии 'json-jruby (> = 0) java'

Буду весьма признателен за любые мысли по поводу исправления этой проблемы. Я надеюсь, что многие люди должны иметь эту проблему, как я.

Ниже приведены некоторые подробности env: jruby 1.5.2 (ruby 1.8.7, уровень исправления 249) (2010-08-20 1c5e29d) (Java HotSpot (TM), 64-разрядный сервер, виртуальная машина 1.6.0_30) [amd64-java] рельсы 2.2.2

Gemfile:

....
....
platforms :jruby do
  gem 'activerecord-jdbc-adapter', '0.9.4'
  gem 'activerecord-jdbcmysql-adapter', '0.9.4'
  gem "json-jruby", "~> 1.5.0"
  gem 'image_voodoo', '0.7'
  gem 'jdbc-mysql', '5.0.4'
  gem 'jruby-openssl', '0.2.3'
end 
....
....
group :integration, :devwithcaching, :production do
  if defined?(JRUBY_VERSION)
    gem "json-jruby", "~> 1.5.0"
  else
    gem 'json_pure', '1.6.5'
  end
end

Ответы [ 2 ]

0 голосов
/ 14 февраля 2014

Эта json-jruby версия не существует. Похоже, документация json-jruby также неверна http://rubygems.org/gems/json-jruby

Попробуйте заменить версию для 1.5.0-java вместо 1.5.0.

0 голосов
/ 15 июля 2013

Так что это старый вопрос, но ответ по-прежнему актуален и для недавней JRuby:

Лучше всего использовать просто гем json , который обеспечивает C ext для МРТ, и версию -java для JRuby для оптимальной производительности (начиная с версии 1.5.0 ~ 01/2011) так просто:

ruby gem 'json', '>= 1.5.0' не оборачивайте его в platforms :jruby блок (еще хуже - defined? JRUBY_VERSION в Gemfile ).

ПРИМЕЧАНИЕ: камень json-jruby , похоже, прекратил выплевывать релизы примерно в то же время (01/2011), когда камень json начал отправлять -java версия гема, таким образом, если есть проблемы с ним на JRuby, и вряд ли их исправят, так что лучше избегать.

...