Я хочу попробовать приложение Rails 4.2 на Ruby 2.4.Возможно ли запустить приложение Rails 4.2 на Ruby 2.4?
Однако, когда я пытаюсь это сделать, я получаю ошибки о json gem версии 1.8.3, которые не могут быть установлены.
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory: /Users/agrimm/.rbenv/versions/2.4.0-rc1/lib/ruby/gems/2.4.0/gems/json-1.8.3/ext/json/ext/generator
/Users/agrimm/.rbenv/versions/2.4.0-rc1/bin/ruby -r ./siteconf20161223-91367-cql0ne.rb extconf.rb
creating Makefile
current directory: /Users/agrimm/.rbenv/versions/2.4.0-rc1/lib/ruby/gems/2.4.0/gems/json-1.8.3/ext/json/ext/generator
make "DESTDIR=" clean
current directory: /Users/agrimm/.rbenv/versions/2.4.0-rc1/lib/ruby/gems/2.4.0/gems/json-1.8.3/ext/json/ext/generator
make "DESTDIR="
compiling generator.c
generator.c:861:25: error: use of undeclared identifier 'rb_cFixnum'
} else if (klass == rb_cFixnum) {
^
generator.c:863:25: error: use of undeclared identifier 'rb_cBignum'
} else if (klass == rb_cBignum) {
^
2 errors generated.
make: *** [generator.o] Error 1
make failed, exit code 2
Gem files will remain installed in /Users/agrimm/.rbenv/versions/2.4.0-rc1/lib/ruby/gems/2.4.0/gems/json-1.8.3 for inspection.
Results logged to /Users/agrimm/.rbenv/versions/2.4.0-rc1/lib/ruby/gems/2.4.0/extensions/x86_64-darwin-14/2.4.0-static/json-1.8.3/gem_make.out
An error occurred while installing json (1.8.3), and Bundler cannot continue.
Make sure that `gem install json -v '1.8.3'` succeeds before bundling.
, который, как я полагаю, обусловлен объединением Fixnum и Bignum в Integer.
Если я добавлю в Gemfile ограничение, что json должен быть версией 2.0.0, то он жалуется, что Rails 4.2 требует json ~> 1.7, что запрещает 2.0.0.
Мне повезло, если разработчики Rails не решили внести изменения в версию Rails, отличную от версии 5.x, или разработчики json gem решили создать новую версию, отличную от 2.x. драгоценный камень?
Поскольку размещение этот ответ , были выпущены Ruby 2.4 совместимые версии json ('1.8.5') и arel (' 6.0.4'). Главное, чего мы сейчас ждем - это новая версия rails '4.2.x'. –
.. и теперь рельсы 4.2.8 были выпущены, что должно быть достаточно для загрузки приложений на ruby 2.4. Вероятно, несколько зависимостей второго и третьего уровней будут печатать отсрочки, но, надеюсь, они не смертельны –