And*_*imm 18 ruby ruby-on-rails ruby-on-rails-4 ruby-2.4
我想在Ruby 2.4上试用Rails 4.2应用程序.
但是,当我尝试这样做时,我得到关于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.
Run Code Online (Sandbox Code Playgroud)
我假设是由于Fixnum和Bignum统一为整数.
如果我向Gemfile添加一个json必须是2.0.0版本的约束,那么它会抱怨Rails 4.2需要json~> 1.7,这禁止2.0.0.
除非Rails的维护者决定对非5.x版本的Rails进行更改,或者json gem的维护者决定制作一个新的非2.x版本的gem,否则我运气不好?
Jam*_*aly 16
该json宝石对修复1.8分支.希望它很快就会作为宝石发布,但与此同时你可以直接在你的Gemfile中使用它:
gem 'json', github: 'flori/json', branch: 'v1.8'
Run Code Online (Sandbox Code Playgroud)
Rails已经还合并修复到4-2-stable一个星期左右分支的最新官方后4.2.x创业板发行.希望他们很快也会发布一个新的宝石,但这可能有助于你的Gemfile:
gem 'rails', github: 'rails/rails', branch: '4-2-stable'
Run Code Online (Sandbox Code Playgroud)
最后,您可能还需要arel从git源加载:
gem 'arel', github: 'rails/arel', branch: '6-0-stable'
Run Code Online (Sandbox Code Playgroud)
通过这三个更改,我能够启动我们的应用程序并查询数据库,但后来遇到了其他整数统一相关的问题.似乎这种改变会引起一些波澜.
| 归档时间: |
|
| 查看次数: |
7549 次 |
| 最近记录: |