Problem
Error received when trying to install appsignal gem (v4.8) on macOS 15/26 and Ruby 3.1.2.
Installing appsignal 4.8.1 (was 3.7.5) with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory: /Users/local/.gem/ruby/3.1.2/gems/appsignal-4.8.1/ext
/Users/local/.rubies/ruby-3.1.2/bin/ruby -I /Users/local/.rubies/ruby-3.1.2/lib/ruby/3.1.0 -r
./siteconf20251224-8646-isriwf.rb extconf.rb
<internal:/Users/local/.rubies/ruby-3.1.2/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require': uninitialized
constant JSON::Fragment (NameError)
from <internal:/Users/local/.rubies/ruby-3.1.2/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from /Users/local/.rubies/ruby-3.1.2/lib/ruby/3.1.0/json/ext.rb:8:in `<module:Ext>'
from /Users/local/.rubies/ruby-3.1.2/lib/ruby/3.1.0/json/ext.rb:6:in `<module:JSON>'
from /Users/local/.rubies/ruby-3.1.2/lib/ruby/3.1.0/json/ext.rb:3:in `<top (required)>'
from <internal:/Users/local/.rubies/ruby-3.1.2/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from <internal:/Users/local/.rubies/ruby-3.1.2/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from /Users/local/.rubies/ruby-3.1.2/lib/ruby/3.1.0/json.rb:579:in `<module:JSON>'
from /Users/local/.rubies/ruby-3.1.2/lib/ruby/3.1.0/json.rb:575:in `<top (required)>'
from <internal:/Users/local/.rubies/ruby-3.1.2/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from <internal:/Users/local/.rubies/ruby-3.1.2/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from /Users/local/.gem/ruby/3.1.2/gems/appsignal-4.8.1/ext/base.rb:7:in `<top (required)>'
from <internal:/Users/local/.rubies/ruby-3.1.2/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from <internal:/Users/local/.rubies/ruby-3.1.2/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from extconf.rb:3:in `<main>'
Resolution
This is due to an issue with the json gem dependency, calling constant that no longer exists. To resolve, uninstall json gem:
$
gem uninstall json --force
If prompted like below (due to multiple
jsongem versions installed), enter the "All versions" option:Select gem to uninstall: 1. json-2.10.1 2. json-2.10.2 3. All versions
Then simply, run:
$
bundle install
And the bundle should resolve the json gem dependency.