Я хочу использовать neo4j с Rails 3.2 приложение, использующее Ruby MRI.
В this настройке дока, пакетирование приложения требует ActiveSupport 4, поэтому, вопрос в том, можно ли использовать текущие настройки (ActiveSupport 3.2.x) без использования JRuby.
Предпочитаемая настройка - использовать сервер db, а не встроенный. СпасибоНастройка neo4j и Rails 3.2 с Ruby MRI
ответ
Это хороший вопрос. Я просмотрел журналы git, и я не могу сказать, когда он был переключен с версии 3 на версию 4. Похоже, что он использовал 4 с версии 3.0.0 из драгоценного камня neo4j
, хотя, когда мы начали поддерживающий режим сервера.
Что касается JRuby, даже если это был вариант для вас, вам все равно нужно будет использовать ActiveSupport, поэтому я не думаю, что это поможет.
Я попытался изменить activesupport
, activemodel
и railties
версии 3 в жемчужину и работает спецификации и придумал это:
/Users/brian/github/neo4jrb/neo4j/lib/neo4j/active_node/scope.rb:1:in `require': cannot load such file -- active_support/per_thread_registry (LoadError)
from /Users/brian/github/neo4jrb/neo4j/lib/neo4j/active_node/scope.rb:1:in `<top (required)>'
from /Users/brian/github/neo4jrb/neo4j/lib/neo4j.rb:89:in `require'
Так что, похоже, есть по крайней мере одна вещь в ActiveSupport 4, что мы зависит от.
Если это действительно важно, я хотел бы предложить разветвление neo4j
хранилища и включая его в Gemfile так:
gem 'neo4j', github: 'your_username/neo4j'
Затем в хранилище можно изменить neo4j.gemspec
использовать версию 3 из драгоценных камней, которые Я перечислил выше. Тогда вам нужно будет исправить проблему, о которой я упоминал выше, и любые другие, которые вы можете использовать. Очевидно, это затруднит выполнение последних изменений в драгоценности.
Как правило, я выступаю за поддержку старых версий Rails/ActiveSupport как можно больше. Похоже, обновление до ActiveSupport 4 предшествовало мне, но мы определенно подумаем трижды, прежде чем в зависимости от каких-либо функций в 5.
Удачи!
Привет Брайан и большое спасибо за быстрый и подробный ответ. Я думаю, что достаточно скоро я смогу использовать AS 4 (в сочетании с Rails 4), поэтому, вероятно, это будет не проблема. Тем временем, как обходной путь, я заметил, что мы можем использовать драгоценный камень '' 'neography''', поэтому он позволит нам оценить его за это время. –
. Вы можете использовать Neography, но я бы предложил также проверить 'neo4j-core' драгоценный камень. Это то, что использует камень 'neo4j' под крышками. Это также зависит от ActiveSupport, хотя не похоже, что он задает версию в gemspec. Причина, по которой он включает ActiveSupport, - это «ActiveSupport :: Уведомления» и «HashWithIndifferentAccess», оба из которых, я уверен, находятся в AS3 –
, спасибо за комментарий, обязательно проверьте это –