Установка драгоценных камней JRuby с помощью Mina
Я пытаюсь развернуть приложение на JRuby с помощью Mina, но один гем не устанавливается, и на самом деле его не нужно устанавливать в первую очередь...
Драгоценный камень unf_ext
и это зависимость Механизировать. Если я SSH к серверу и пытаюсь установить Mechanize
Устанавливается без проблем и только unf
устанавливается в результате, а не unf_ext
,
Ошибка:
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/home/linkrecover/.rbenv/versions/jruby-1.7.13/bin/jruby extconf.rb
NotImplementedError: C extension support is not enabled. Pass -Xcext.enabled=true to JRuby or set JRUBY_OPTS.
(root) at /home/linkrecover/.rbenv/versions/jruby-1.7.13/lib/ruby/shared/mkmf.rb:8
require at org/jruby/RubyKernel.java:1065
(root) at /home/linkrecover/.rbenv/versions/jruby-1.7.13/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:1
(root) at extconf.rb:1
Gem files will remain installed in /var/www/lr/tmp/build-14062262733806/vendor/bundle/jruby/1.9/gems/unf_ext-0.0.6 for inspection.
Results logged to /var/www/lr/tmp/build-14062262733806/vendor/bundle/jruby/1.9/gems/unf_ext-0.0.6/ext/unf_ext/gem_make.out
An error occurred while installing unf_ext (0.0.6), and Bundler cannot continue.
Make sure that `gem install unf_ext -v '0.0.6'` succeeds before bundling.
Мой Gemfile: https://gist.github.com/davidhq/09d84bc79683b9d3332e
Так как же сделать так, чтобы пакетный пакет устанавливал все правильно при запуске через Мину?
2 ответа
Некоторые из ваших заявленных гемов (Gemfile.lock должен указать, какой из них) зависит от unf_ext
драгоценный камень, который использует собственные расширения Си. вам нужно как-то избегать этого драгоценного камня (например, с помощью платформы::mri, как вы это делали с другими) с помощью JRuby. детали зависят от проблемной жемчужины и от того, сколько она вам нужна, например, если она предназначена только для разработки, просто перенесите ее в группу: разработка и bundle --without development
Получается что Gemfile.lock
У меня не было зависимостей для JRuby, потому что я использую MRI для разработки. Я переключился на JRuby локально и побежал bundle install
генерировать правильную информацию в Gemfile.lock
и совершил это... теперь все устанавливается нормально.