Я пытаюсь создать приложение с JRuby, Rails и Neo4j. Я попытался установить neo4j и запустить его с Rails 5.0.0, но у меня появилось несколько жалоб на отсутствие (???) activesupport gem. Что странно, потому что драгоценный камень указан, когда я запускаю «список драгоценных камней». Ну, я пробовал делать то же самое с помощью Rails 4.2.6. После многих временных ухищрений, чтобы устранить некоторые проблемы, описанные ниже, я, наконец, получил neo4j. Однако я не мог запустить сервер Rails, если я не прокомментировал почти каждую строку в confit/initializers/new_framework_defaults.rb. Вот сообщенные ошибки и то, как я с ними справлялся. Есть ли лучшее решение для этого, которое не подразумевает включение/отключение всех этих методов настройки?Проблемы с neo4j.rb, JRuby. Не удается запустить сервер rails
Может ли кто-нибудь предложить методы для решения или решения всех этих проблем?
камень установить рельсы -v 4,2
расслоение Exec рельсы новый MYAPP -m http://neo4jrb.io/neo4j/neo4j.rb -О
кд MYAPP & & расслоение Exec грабли Neo4j: установить [сообщества последние]
- Мне пришлось отключить действие «требовать» _cable/двигатель "" в конфигурации/application.rb
- Мне пришлось отключить действие «требовать» _cable/двигатель "" в конфигурации/application.rb
START Neo4j: расслоение EXEC грабли Neo4j: начать
PROBLEM 1: NameError: uninitialized constant ActiveSupport::EventedFileUpdateChecker
- я отключил линию config.file_watcher = ActiveSupport :: EventedFileUpdateChecker
в config/environment/development.rb. Затем перезапустите пакет exec rake neo4j: start.
PROBLEM 2: NoMethodError: undefined method `to_time_preserves_timezone=' for ActiveSupport:Module.
- Я закомментирована на линии ActiveSupport.to_time_preserves_timezone = TRUE
в конфигурационном/инициализаторах/new_framework_defaults.rb: 15. Затем перезапустите пакет exec rake neo4j: start.
PROBLEM 3: NoMethodError: undefined method 'halt_callback_chains_on_return_false=' for ActiveSupport:Module
- Я закомментирована линии ActiveSupport.halt_callback_chains_on_return_false = ложной
в конфигурационном/инициализаторах/new_framework_defaults.rb. Затем перезапустите пакет exec rake neo4j: start.
PROBLEM 4: NoMethodError: undefined method `perform_caching=' for ActionMailer::Base:Class
- Я тогда закомментировал линию config.action_mailer.perform_caching
в конфигурации/application.rb: требуется "action_mailer/railtie" - Я также отметил следующие строки в config/environment/development config.action_mailer.raise_delivery_errors = ложь
config.action_mailer.perform_caching = ложь
- я отключил линию config.file_watcher = ActiveSupport :: EventedFileUpdateChecker
Затем снова побежал расслоение EXEC грабли Neo4j: Начало:
НАКОНЕЦ, IT РАБОТАЛ
5) Запуск двигателя be rails s
PROBLEM: "Rack app error: #< RuntimeError: Invalid option key: per_form_csrf_tokens=>"
Я установил Rails.application.config.action_controller.per_form_csrf_tokens = false
в config/initializers/new_framework_defaults.rb. Однако это не помогло. Ниже приводится полное сообщение об ошибке:
мне пришлось закомментировать строку Rails.application.config.action_controller.forgery_protection_origin_check = истина в конфигурации/Инициализаторы/new_framework_defaults.rb
- Version 3.4.0 (JRuby 9.0.4.0 - рубин 2.2.2), кодовое: Сова Чаша Brawl
- Минимум нитей: 5, макс резьбы: 5
- Окружающая среда: развитие
- прослушивает TCP: // локальный: 3000 Используйте Ctrl-C для остановки 2016-07-05 17:24:39 -0600: Ошибка при установке в стойку: # /Users/yandj/.gem/jruby/2.2.2/gems/actionpack-4.2.6/ lib/action_controller/railtie.rb: 59: в
block in Railtie' org/jruby/RubyHash.java:1343:in
каждый « /Users/yandj/.gem/jruby/2.2.2/gems/actionpack-4.2.6/lib/action_controller/railtie.rb:54:inblock in Railtie' org/jruby/RubyBasicObject.java:1633:in
instance_eval ' /Users/yandj/.gem/jruby/2.2.2/gems/activesupport-4.2.6/lib/active_support/lazy_load_hooks.rb:38:inexecute_hook' /Users/yandj/.gem/jruby/2.2.2/gems/activesupport-4.2.6/lib/active_support/lazy_load_hooks.rb:45:in
блок в run_load_hooks' org/jruby/RubyArray.java: 1560 : ineach' /Users/yandj/.gem/jruby/2.2.2/gems/activesupport-4.2.6/lib/active_support/lazy_load_hooks.rb:44:in
run_load_hooks ' /Users/yandj/.gem/jruby/2.2.2/gems/actionpack-4.2.6/lib/action_controller/base.rb:266:в<class:Base>' /Users/yandj/.gem/jruby/2.2.2/gems/actionpack-4.2.6/lib/action_controller/base.rb:164:in
' /Users/yandj/.gem/ JRuby/2.2.2/драгоценные камни/actionpack-4.2.6/Библиотека/action_control ler/base.rb: 5: в<top>' /Users/yandj/.gem/jruby/2.2.2/gems/actionpack-4.2.6/lib/action_dispatch/middleware/static.rb:1:in
(корень) ' /Users/yandj/.gem/jruby/2.2.2/gems/actionpack-4.2.6/lib/action_dispatch/middleware/static.rb:69:inext' /Users/yandj/.gem/jruby/2.2.2/gems/actionpack-4.2.6/lib/action_dispatch/middleware/static.rb:27:in
матч? ' /Users/yandj/.gem/jruby/2.2.2/gems/actionpack-4.2.6/lib/action_dispatch/middleware/static.rb:114:incall' /Users/yandj/.gem/jruby/2.2.2/gems/rack-1.6.4/lib/rack/sendfile.rb:113:in
call ' /Users/yandj/.gem/jruby/ 2.2.2/gems/railties-4.2.6/lib/rails/engine.rb: 518: incall' /Users/yandj/.gem/jruby/2.2.2/gems/railties-4.2.6/lib/rails/application.rb:165:in
call ' /Users/yandj/.gem/jruby/2.2.2/gems/rack-1.6.4/lib /rack/content_length.rb:15:incall' /Users/yandj/.gem/jruby/2.2.2/gems/puma-3.4.0-java/lib/puma/configuration.rb:224:in
call ' /Users/yandj/.gem/jruby/2.2.2/gems/puma-3.4.0-java/lib/puma/server.rb:569:inhandle_request' /Users/yandj/.gem/jruby/2.2.2/gems/puma-3.4.0-java/lib/puma/server.rb:406:in
блок в process_client ' орг/JRuby/RubyProc.java: 318: в `вызов'
Hi Brian, Спасибо, что ответили. Я попробовал ваше предложение. Все еще не работает Хранилище не найдено. Повторная попытка git clone 'git: //github.com/neo4jrb/neo4j.git.git' "/Users/yandj/.gem/jruby/2.2.2/cache/bundler/git/neo4j.git-c1a4e5d18f00aafb133aa5a89b740980e92b9867 "--bare --no-hardlinks --quiate из-за ошибки (2/4): Bundler :: Source :: Git :: GitCommandError Ошибка Git: команда' git clone 'git: //github.com/neo4jrb/neo4j.git.git' "/Users/yandj/.gem/jruby/2.2.2/cache/bundler/git/neo4j.git-c1a4e5d18f00aafb133aa5a89b740980e92b9867" --bare - no-hardlinks --quiet' в каталоге – Yann
О, извините, '.git' не должно быть там. Просто изменил ответ, чтобы исправить это. Также, поскольку Rails 5 официально вышла сейчас, мы сейчас работаем над получением эта ветвь в выпуск 7.1.0 драгоценного камня –
Я использовал это: gem 'neo4j', '~> 7.0.5', branch: 'rails5'. no change – Yann