💎

mac portsでruby3.3にしたら、大量のgem pristine

2024/04/16に公開

結論

sudo gem install cocoapods

詳細

$ pod install                          
Ignoring json-2.6.3 because its extensions are not built. Try: gem pristine json --version 2.6.3
Ignoring ffi-1.16.2 because its extensions are not built. Try: gem pristine ffi --version 1.16.2
Ignoring ffi-1.15.5 because its extensions are not built. Try: gem pristine ffi --version 1.15.5
Ignoring bigdecimal-3.1.6 because its extensions are not built. Try: gem pristine bigdecimal --version 3.1.6
Ignoring bigdecimal-3.1.6 because its extensions are not built. Try: gem pristine bigdecimal --version 3.1.6
Ignoring date-3.3.4 because its extensions are not built. Try: gem pristine date --version 3.3.4
Ignoring ffi-1.16.2 because its extensions are not built. Try: gem pristine ffi --version 1.16.2
Ignoring json-2.6.3 because its extensions are not built. Try: gem pristine json --version 2.6.3
Ignoring psych-5.1.2 because its extensions are not built. Try: gem pristine psych --version 5.1.2
Ignoring stringio-3.1.0 because its extensions are not built. Try: gem pristine stringio --version 3.1.0
Ignoring bcrypt-3.1.18 because its extensions are not built. Try: gem pristine bcrypt --version 3.1.18
Ignoring bindex-0.8.1 because its extensions are not built. Try: gem pristine bindex --version 0.8.1
Ignoring bootsnap-1.18.3 because its extensions are not built. Try: gem pristine bootsnap --version 1.18.3
Ignoring bootsnap-1.16.0 because its extensions are not built. Try: gem pristine bootsnap --version 1.16.0
Ignoring bootsnap-1.10.3 because its extensions are not built. Try: gem pristine bootsnap --version 1.10.3
Ignoring byebug-11.1.3 because its extensions are not built. Try: gem pristine byebug --version 11.1.3
Ignoring date-3.3.3 because its extensions are not built. Try: gem pristine date --version 3.3.3
Ignoring debug-1.9.1 because its extensions are not built. Try: gem pristine debug --version 1.9.1
Ignoring debug-1.8.0 because its extensions are not built. Try: gem pristine debug --version 1.8.0
Ignoring debug-1.7.1 because its extensions are not built. Try: gem pristine debug --version 1.7.1
Ignoring debug_inspector-1.1.0 because its extensions are not built. Try: gem pristine debug_inspector --version 1.1.0
Ignoring fast_blank-1.0.1 because its extensions are not built. Try: gem pristine fast_blank --version 1.0.1
Ignoring ffi-1.15.5 because its extensions are not built. Try: gem pristine ffi --version 1.15.5
Ignoring google-protobuf-3.21.12 because its extensions are not built. Try: gem pristine google-protobuf --version 3.21.12
Ignoring haml-6.1.2 because its extensions are not built. Try: gem pristine haml --version 6.1.2
Ignoring io-console-0.7.2 because its extensions are not built. Try: gem pristine io-console --version 0.7.2
Ignoring io-console-0.6.0 because its extensions are not built. Try: gem pristine io-console --version 0.6.0
Ignoring io-console-0.5.11 because its extensions are not built. Try: gem pristine io-console --version 0.5.11
Ignoring msgpack-1.7.2 because its extensions are not built. Try: gem pristine msgpack --version 1.7.2
Ignoring msgpack-1.6.0 because its extensions are not built. Try: gem pristine msgpack --version 1.6.0
Ignoring msgpack-1.4.4 because its extensions are not built. Try: gem pristine msgpack --version 1.4.4
Ignoring nio4r-2.7.0 because its extensions are not built. Try: gem pristine nio4r --version 2.7.0
Ignoring nio4r-2.5.8 because its extensions are not built. Try: gem pristine nio4r --version 2.5.8
Ignoring psych-3.3.4 because its extensions are not built. Try: gem pristine psych --version 3.3.4
Ignoring racc-1.7.3 because its extensions are not built. Try: gem pristine racc --version 1.7.3
Ignoring racc-1.6.2 because its extensions are not built. Try: gem pristine racc --version 1.6.2
Ignoring sassc-2.4.0 because its extensions are not built. Try: gem pristine sassc --version 2.4.0
Ignoring sqlite3-1.4.2 because its extensions are not built. Try: gem pristine sqlite3 --version 1.4.2
Ignoring stringio-3.1.0 because its extensions are not built. Try: gem pristine stringio --version 3.1.0
Ignoring unf_ext-0.0.8.2 because its extensions are not built. Try: gem pristine unf_ext --version 0.0.8.2
Ignoring websocket-driver-0.7.6 because its extensions are not built. Try: gem pristine websocket-driver --version 0.7.6
Ignoring websocket-driver-0.7.5 because its extensions are not built. Try: gem pristine websocket-driver --version 0.7.5
Ignoring yarp-0.12.0 because its extensions are not built. Try: gem pristine yarp --version 0.12.0
Ignoring yarp-0.11.0 because its extensions are not built. Try: gem pristine yarp --version 0.11.0

実直に実行してみる

$ gem pristine ffi --version 1.16.2
ERROR:  While executing gem ... (Gem::Exception)
    Failed to find gems ["ffi"] = 1.16.2
	/opt/local/lib/ruby3.3/site_ruby/3.3.0/rubygems/commands/pristine_command.rb:127:in `execute'
	/opt/local/lib/ruby3.3/site_ruby/3.3.0/rubygems/command.rb:326:in `invoke_with_build_args'
	/opt/local/lib/ruby3.3/site_ruby/3.3.0/rubygems/command_manager.rb:255:in `invoke_command'
	/opt/local/lib/ruby3.3/site_ruby/3.3.0/rubygems/command_manager.rb:194:in `process_args'
	/opt/local/lib/ruby3.3/site_ruby/3.3.0/rubygems/command_manager.rb:152:in `run'
	/opt/local/lib/ruby3.3/site_ruby/3.3.0/rubygems/gem_runner.rb:56:in `run'
	/opt/local/bin/gem:12:in `<main>'

エラー

gem自体をupdate
gem update --system 3.5.9
成功したけどIgnoringは出続ける

sudo gem install ffi
これをやっても、Ignoringは減らない

ここで、CocoaPodsが古いrubyを参照してることに気づく pod env

   CocoaPods : 1.14.3
        Ruby : ruby 3.1.4p223 (2023-03-30 revision 957bb7cb81) [arm64-darwin23]
    RubyGems : 3.3.26
        Host : macOS 14.4.1 (23E224)
       Xcode : 15.3 (15E204a)
         Git : git version 2.44.0
Ruby lib dir : /opt/local/lib
Repositories : cocoapods - git - https://github.com/CocoaPods/Specs.git @ 5abac4083d36f83001428f0dd9e9f4b17e8fa81f

               trunk - CDN - https://cdn.cocoapods.org/

ということで、sudo gem install cocoapodsを実行することで大量のIgnoringが無くなった。

Discussion