Windows (RVM) против Linux (jruby): как исправить различные требования к гемам?
Я сталкиваюсь с несовместимыми требованиями к гемам при создании приложения Rails в Windows (RVM) и их развертывании в Linux (jRuby). Как я могу перенастроить требования Rails на стороне Linux/jRuby, чтобы я мог связать и запустить приложение?
Поскольку debug_inspector существует только в RVM, требования к гемам не объединяются в jRuby. Вместо этого Бандлер жалуется:
Использование debug_inspector 0.0.2
Gem:: Ext:: BuildError: ОШИБКА: не удалось создать собственное расширение для gem.
[...]/jruby-1.7.20/bin/jruby -r ./siteconf20150523-28378-1i9zw09.rb extconf.rb
[...] / jruby-1.7.20 / lib / ruby /shared/mkmf.rb:14: использовать RbConfig вместо устаревшего и устаревшего Config. mkmf.rb не может найти заголовочные файлы для ruby в [...]/jruby-1.7.20/lib/native/include/ruby / ruby.h
Сбой extconf, необработанный сигнал 1
Спасибо
#diff Gemfile.lock_rvm Gemfile.lock_jruby
2c2
< remote: http://rubygems.org/
---
> remote: https://rubygems.org/
32a33,37
> activerecord-jdbc-adapter (1.3.16)
> activerecord (>= 2.2)
> activerecord-jdbcsqlite3-adapter (1.3.16)
> activerecord-jdbc-adapter (~> 1.3.16)
> jdbc-sqlite3 (>= 3.7.2, < 3.9)
40,41d44
< binding_of_caller (0.7.2)
< debug_inspector (>= 0.0.1)
43,44d45
< byebug (5.0.0)
< columnize (= 0.9.0)
52,53d52
< columnize (0.9.0)
< debug_inspector (0.0.2)
59c58
< jbuilder (2.2.16)
---
> jbuilder (2.2.13)
61a61
> jdbc-sqlite3 (3.8.7)
66c66
< json (1.8.2)
---
> json (1.8.2-java)
72d71
< mini_portile (0.6.2)
75,76c74,76
< nokogiri (1.6.6.2-x86-mingw32)
< mini_portile (~> 0.6.0)
---
> nokogiri (1.6.6.2-java)
> puma (2.11.2-java)
> rack (>= 1.1, < 2.0)
107c107
< sass (3.4.14)
---
> sass (3.4.13)
119c119
< sprockets-rails (2.3.1)
---
> sprockets-rails (2.3.0)
123c123,125
< sqlite3 (1.3.10-x86-mingw32)
---
> therubyrhino (2.0.4)
> therubyrhino_jar (>= 1.7.3)
> therubyrhino_jar (1.7.6)
125c127
< thread_safe (0.3.5)
---
> thread_safe (0.3.5-java)
136,140d137
< web-console (2.1.2)
< activemodel (>= 4.0)
< binding_of_caller (>= 0.7.2)
< railties (>= 4.0)
< sprockets-rails (>= 2.0, < 4.0)
143c140
< x86-mingw32
---
> java
146c143
< byebug
---
> activerecord-jdbcsqlite3-adapter
149a147
> puma
153c151
< sqlite3
---
> therubyrhino
157d154
< web-console (~> 2.0)
1 ответ
Использовать platforms
опция в Gemfile, например
gem "ruby-debug", :platforms => :mri_18