Запуск установки пакета в моем приложении Ruby on Rails генерирует ошибки в sqlite3 и nio4r

Запуск bundle install в моем проекте Ruby on Rails успешно работал на моем предыдущем компьютере (macOS 11 Big Sur). Однако на этом новом компьютере (macOS 14 Sonoma с чипом M3 Max) команда bundle install возвращает следующие ошибки:

$ bundle install

Fetching gem metadata from https://rubygems.org/.........
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies...
Using rake 13.0.6
Using concurrent-ruby 1.2.3
Using minitest 5.23.1
Using thread_safe 0.3.6
Using builder 3.2.4
Using erubi 1.12.0
Using mini_portile2 2.8.2
Using racc 1.6.2
Using crass 1.0.6
Using rack 2.2.7
Using nio4r 2.5.8
Using websocket-extensions 0.1.5
Using mini_mime 1.1.5
Using date 3.3.1
Using timeout 0.3.1
Using arel 9.0.0
Using multi_json 1.15.0
Using method_source 1.0.0
Using thor 1.2.2
Using marcel 1.0.2
Using public_suffix 5.0.3
Using anbt-sql-formatter 0.0.7
Using ast 2.4.2
Using execjs 2.8.1
Using awesome_print 1.9.2
Using bcrypt 3.1.18
Using benchmark-ips 2.9.3
Using rouge 4.1.1
Using bindex 0.8.1
Using debug_inspector 1.1.0
Using ffi 1.15.5
Using will_paginate 3.3.1
Using brakeman 5.2.1
Using uniform_notifier 1.14.2
Using bundler 2.1.4
Using byebug 11.1.3
Using matrix 0.4.2
Using regexp_parser 2.8.1
Using cascade-deleter 0.1.1
Using htmlentities 4.3.4
Using rubyzip 1.3.0
Using childprocess 4.1.0
Using choice 0.2.0
Using numerizer 0.1.1
Using chunky_png 1.4.0
Using climate_control 0.2.0
Using coderay 1.1.3
Using coffee-script-source 1.12.2
Using colorize 0.8.1
Using connection_pool 2.4.1
Using daemons 1.4.1
Using database_cleaner-core 2.0.1
Using dead_end 3.1.1
Using memory_profiler 1.0.0
Using mini_histogram 0.3.1
Using ruby-statistics 3.0.0
Using diff-lcs 1.5.0
Using docile 1.4.0
Using thread 0.2.2
Using erubis 2.7.0
Using eventmachine 1.2.7
Using faraday-em_http 1.0.0
Using faraday-em_synchrony 1.0.0
Using faraday-excon 1.1.0
Using faraday-httpclient 1.0.1
Using multipart-post 2.3.0
Using faraday-net_http 1.0.1
Using faraday-net_http_persistent 1.2.0
Using faraday-patron 1.0.0
Using faraday-rack 1.0.0
Using faraday-retry 1.0.3
Using ruby2_keywords 0.0.5
Using sexp_processor 4.16.0
Using path_expander 1.1.0
Using formatador 1.1.0
Using raabro 1.4.0
Using rspec-support 3.11.1
Using ruby-progressbar 1.13.0
Using multi_xml 0.6.0
Using unicode-display_width 2.4.2
Using rb-fsevent 0.11.2
Using lumberjack 1.2.8
Using nenv 0.3.0
Using shellany 0.0.1
Using guard-compat 1.2.1
Using highline 2.0.3
Using sync 0.5.0
Using json 2.6.3
Using jwt 2.5.0
Using language_server-protocol 3.17.0.3
Using mime-types-data 3.2022.0105
Using mysql2 0.5.4
Using newrelic_rpm 9.2.2
Using oj 3.13.11
Using parallel 1.23.0
Using parsecs 0.14.1
Using rainbow 3.1.1
Using rexml 3.2.6
Using rugged 1.7.1
Using railroady 1.6.0
Using redis 4.6.0
Using remotipart 1.4.4
Using ruby-ole 1.2.12.2
Using rqrcode_core 1.2.0
Using ruby-filemagic 0.7.3
Using tilt 2.0.10
Using secure_headers 6.3.3
Using seed_migration 1.2.3
Using simple_command 0.1.0
Using simplecov-html 0.12.3
Using simplecov_json_formatter 0.1.4
Using temple 0.8.2
Using spring 4.0.0
Using stringex 2.8.5
Using suggest_rb 0.5.2
Using test-prof 1.2.3
Using timecop 0.9.4
Using turbolinks-source 5.2.0
Using wisper 2.0.1
Using wkhtmltopdf-binary 0.12.6.6
Fetching sqlite3 1.4.2
Using i18n 1.14.5
Using rack-test 2.1.0
Using tzinfo 1.2.11
Using websocket-driver 0.7.5
Using net-protocol 0.2.1
Using addressable 2.8.5
Using request_store 1.5.1
Using autoprefixer-rails 10.4.2.0
Using better_errors 2.10.0
Using binding_of_caller 1.0.0
Using sassc 2.4.0
Using bootstrap-will_paginate 1.0.0
Using chronic_duration 0.10.6
Using coffee-script 2.4.1
Using get_process_mem 0.2.7
Using heapy 0.2.0
Using easy_translate 0.5.1
Using sprockets 4.1.1
Using faraday-multipart 1.0.4
Using ruby_parser 3.18.1
Using figaro 1.2.0
Using rspec-core 3.11.0
Using httparty 0.21.0
Using terminal-table 3.0.2
Using rb-inotify 0.10.1
Using notiffany 0.1.3
Using pry 0.13.1
Using rspec-expectations 3.11.1
Using rspec-mocks 3.11.0
Using parser 3.2.2.3
Using tins 1.31.0
Using spoon 0.0.6
Using rack-contrib 2.3.0
Using mime-types 3.4.1
Using mock_redis 0.36.0
Using terrapin 0.6.0
Using parallel_tests 4.2.1
Using rack-cors 1.1.1
Using ruby-graphviz 1.2.5
Using spreadsheet 1.3.0
Using rqrcode 2.2.0
Using selenium-webdriver 4.1.0
Using sidekiq 6.4.1
Using simplecov 0.21.2
Using slim 4.1.0
Using spring-commands-rspec 1.0.4
Using thin 1.8.1
Using turbolinks 5.2.1
Using uglifier 4.2.0
Using money 6.16.0
Using faker 3.2.0
Using i18n-active_record 1.1.0
Using i18n-js 3.9.1
Using nokogiri 1.15.2 (arm64-darwin)
Using activesupport 5.2.8.1
Using loofah 2.21.3
Using net-imap 0.3.2
Using net-pop 0.1.2
Using net-smtp 0.3.3
Using bootstrap-sass 3.4.1
Using xpath 3.2.0
Using caxlsx 3.1.1
Using derailed_benchmarks 2.1.1
Using launchy 2.5.2
Using et-orbi 1.2.7
Using faraday 1.10.3
Using fasterer 0.9.0
Using flay 2.12.1
Using fuubar 2.5.1
Using gitlab 4.19.0
Using listen 3.8.0
Using rspec 3.11.0
Using term-ansicolor 1.7.1
Using interactive_editor 0.0.12
Using mimemagic 0.3.10
Using rubocop-ast 1.29.0
Using pry-byebug 3.9.0
Using pry-rails 0.3.9
Using roo 2.8.3
Using rspec-collection_matchers 1.2.0
Using sidekiq-status 2.1.3
Using the_notification 0.5.1
Using tzinfo-data 1.2023.3
Using inflections 4.1.0 from https://github.com/niltonvasques/inflections.git (at iss17-brazilian-portuguese-inflections@832e15f)
Using montrose 0.11.2
Using sawyer 0.8.2
Using rubocop 1.54.2
Using rabl 0.16.1
Using roo-xls 1.2.0
Using sentry-raven 3.1.2
Using shoulda-matchers 5.3.0
Using wicked_pdf 2.8.0
Using rails-dom-testing 2.0.3
Using rails-html-sanitizer 1.6.0
Using globalid 1.1.0
Using mail 2.8.0
Using activemodel 5.2.8.1
Using bullet 7.0.1
Using capybara 3.36.0
Using factory_bot 5.2.0
Using fugit 1.5.3
Using guard 2.18.0
Using i18n-tasks 0.9.12
Using actionview 5.2.8.1
Using activejob 5.2.8.1
Using activerecord 5.2.8.1
Using email_spec 2.2.2
Using guard-rspec 4.7.3
Using octokit 4.21.0
Using paperclip 6.1.0
Using rubocop-capybara 2.18.0
Using rubocop-factory_bot 2.24.0
Using rubocop-performance 1.19.1
Using rubocop-rails 2.9.1
Using sidekiq-cron 1.6.0
Using actionpack 5.2.8.1
Using activerecord-import 1.3.0
Using audited 5.3.3
Using database_cleaner-active_record 2.0.1
Using hierarchy-tree 0.3.5
Using jbuilder 2.11.5
Using pp_sql 1.1.0
Using pronto 0.11.1
Using rails-erd 1.6.1
Using rubocop-rspec 2.24.0
Using validations-skipper 0.1.1 from https://github.com/oxeanbits/validations-skipper.git (at master@36116d8)
Using wisper-activerecord 1.0.0
Using actioncable 5.2.8.1
Using actionmailer 5.2.8.1
Using railties 5.2.8.1
Using activestorage 5.2.8.1
Using caxlsx_rails 0.6.3
Using database_cleaner 2.0.1
Using deep-cloning 0.3.0
Using sprockets-rails 3.4.2
Using gon 6.4.0
Using pronto-brakeman 0.11.1
Using pronto-eslint_npm 0.11.0
Using pronto-fasterer 0.11.1
Using pronto-flay 0.11.1
Using pronto-rubocop 0.11.5
Using activerecord-session_store 2.0.0
Using coffee-rails 4.2.2
Using rails 5.2.8.1
Using factory_bot_rails 5.2.0
Using font-awesome-rails 4.7.0.8
Using jquery-rails 4.5.1
Using js-routes 1.4.1
Using meta_request 0.7.3
Using rails-i18n 5.1.3
Using responders 3.1.0
Using rspec-rails 5.1.2
Using sassc-rails 2.1.2
Using scenic 1.6.0
Using teaspoon 1.3.0 from https://github.com/jejacks0n/teaspoon.git (at master@a168748)
Using web-console 3.7.0
Using eav_hashes 1.1.0
Using sass-rails 6.0.0
Using scenic-mysql_adapter 1.0.1
Using to_slug_param 1.8
Using yaml_db 0.7.0
Using the_role_api 3.9.1 from https://github.com/niltonvasques/the_role_api.git (at upgrade-rails@352317f)
Using the_role_management_panel 3.8.3 from https://github.com/oxeanbits/the_role_management_panel.git (at master@36c98ae)
Using teaspoon-mocha 2.3.3 from https://github.com/jejacks0n/teaspoon.git (at master@a168748)
Installing sqlite3 1.4.2 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    current directory: /Users/victorcosta/Desktop/repositories/dpms-api-norway/vendor/bundle/ruby/2.7.0/gems/sqlite3-1.4.2/ext/sqlite3
/Users/victorcosta/.asdf/installs/ruby/2.7.8/bin/ruby -I /Users/victorcosta/.asdf/installs/ruby/2.7.8/lib/ruby/2.7.0 -r ./siteconf20240618-69783-na3gvd.rb
extconf.rb --with-sqlite3-include\=/path/to/sqlite3/include --with-sqlite3-lib\=/path/to/sqlite3/lib CFLAGS\=-Wno-error\=incompatible-function-pointer-types\
-Wno-error\=int-conversion
checking for sqlite3.h... yes
checking for pthread_create() in -lpthread... yes
checking for -ldl... yes
checking for sqlite3_libversion_number() in -lsqlite3... yes
checking for rb_proc_arity()... yes
checking for rb_integer_pack()... yes
checking for sqlite3_initialize()... yes
checking for sqlite3_backup_init()... yes
checking for sqlite3_column_database_name()... yes
checking for sqlite3_enable_load_extension()... no
checking for sqlite3_load_extension()... no
checking for sqlite3_open_v2()... yes
checking for sqlite3_prepare_v2()... yes
checking for sqlite3_int64 in sqlite3.h... yes
checking for sqlite3_uint64 in sqlite3.h... yes
creating Makefile

current directory: /Users/victorcosta/Desktop/repositories/dpms-api-norway/vendor/bundle/ruby/2.7.0/gems/sqlite3-1.4.2/ext/sqlite3
make "DESTDIR = " clean

current directory: /Users/victorcosta/Desktop/repositories/dpms-api-norway/vendor/bundle/ruby/2.7.0/gems/sqlite3-1.4.2/ext/sqlite3
make "DESTDIR = "
compiling aggregator.c
compiling backup.c
compiling database.c
database.c:141:3: warning: 'sqlite3_trace' is deprecated: first deprecated in macOS 10.12 [-Wdeprecated-declarations]
  sqlite3_trace(ctx->db, NIL_P(block) ? NULL : tracefunc, (void *)self);
  ^~~~~~~~~~~~~
  sqlite3_trace_v2
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sqlite3.h:3326:36: note: 'sqlite3_trace' has been explicitly marked deprecated here
SQLITE_API SQLITE_DEPRECATED void *sqlite3_trace(
                                   ^
database.c:726:57: error: incompatible function pointer types passing 'int (VALUE, int, char **, char **)' (aka 'int (unsigned long, int, char **, char **)') to
parameter of type 'int (*)(void *, int, char **, char **)' [-Wincompatible-function-pointer-types]
    status = sqlite3_exec(ctx->db, StringValuePtr(sql), hash_callback_function, callback_ary, &errMsg);
                                                        ^~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sqlite3.h:435:9: note: passing argument to parameter 'callback' here
  int (*callback)(void*,int,char**,char**),  /* Callback function */
        ^
database.c:726:81: error: incompatible integer to pointer conversion passing 'VALUE' (aka 'unsigned long') to parameter of type 'void *' [-Wint-conversion]
    status = sqlite3_exec(ctx->db, StringValuePtr(sql), hash_callback_function, callback_ary, &errMsg);
                                                                                ^~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sqlite3.h:436:9: note: passing argument to parameter here
  void *,                                    /* 1st argument to callback */
        ^
database.c:728:57: error: incompatible function pointer types passing 'int (VALUE, int, char **, char **)' (aka 'int (unsigned long, int, char **, char **)') to
parameter of type 'int (*)(void *, int, char **, char **)' [-Wincompatible-function-pointer-types]
    status = sqlite3_exec(ctx->db, StringValuePtr(sql), regular_callback_function, callback_ary, &errMsg);
                                                        ^~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sqlite3.h:435:9: note: passing argument to parameter 'callback' here
  int (*callback)(void*,int,char**,char**),  /* Callback function */
        ^
database.c:728:84: error: incompatible integer to pointer conversion passing 'VALUE' (aka 'unsigned long') to parameter of type 'void *' [-Wint-conversion]
    status = sqlite3_exec(ctx->db, StringValuePtr(sql), regular_callback_function, callback_ary, &errMsg);
                                                                                   ^~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sqlite3.h:436:9: note: passing argument to parameter here
  void *,                                    /* 1st argument to callback */
        ^
1 warning and 4 errors generated.
make: *** [database.o] Error 1

make failed, exit code 2

Gem files will remain installed in /Users/victorcosta/Desktop/repositories/dpms-api-norway/vendor/bundle/ruby/2.7.0/gems/sqlite3-1.4.2 for inspection.
Results logged to /Users/victorcosta/Desktop/repositories/dpms-api-norway/vendor/bundle/ruby/2.7.0/extensions/arm64-darwin-23/2.7.0/sqlite3-1.4.2/gem_make.out

An error occurred while installing sqlite3 (1.4.2), and Bundler cannot continue.
Make sure that `gem install sqlite3 -v '1.4.2' --source 'https://rubygems.org/'` succeeds before bundling.

In Gemfile:
  sqlite3

Как мы видим выше, основными ошибками являются:

  1. -Wno-error=incompatible-function-pointer-types
  2. -Wno-error=int-conversion

Я попытался игнорировать эти ошибки, добавив это в файл .bundle/config:

BUNDLE_BUILD__NIO4R: "--with-cflags=-Wno-error=incompatible-function-pointer-types -Wno-error=int-conversion"
BUNDLE_BUILD__SQLITE3: "--with-sqlite3-include=/path/to/sqlite3/include --with-sqlite3-lib=/path/to/sqlite3/lib CFLAGS='-Wno-error=incompatible-function-pointer-types -Wno-error=int-conversion'"

Все равно вылезают те же ошибки...

Я также попытался установить локально драгоценные камни nio4r и sqlite3, пропуская вышеупомянутые ошибки, используя следующий подход:

sudo gem install nio4r -v '2.5.8' --source 'https://rubygems.org/' -- --with-cflags = "-Wno-error=incompatible-function-pointer-types"
sudo gem install sqlite3 -v '1.4.2' --source 'https://rubygems.org/' -- --with-cflags = "-Wno-error=int-conversion -Wno-error=incompatible-function-pointer-types"

Эти драгоценные камни были установлены локально с помощью описанного выше подхода, но эти драгоценные камни по-прежнему имеют ошибки при установке через bundle install, что не позволяет запустить сервер (rails s).

Конфигурации

  • Рубиновая версия
$ ruby -v
ruby 2.7.8p225 (2023-03-30 revision 1f4d455848) [arm64-darwin23]
  • Gemfile
source 'https://rubygems.org'

# ruby 2.7.5

# Gem to handle webhook events
gem 'wisper'
gem 'wisper-activerecord'

gem 'hierarchy-tree', '~> 0.3.5'

# Gem to add background workers
gem 'sidekiq'
# Gem to get job status
gem 'sidekiq-status'
# Gem to schedule jobs
gem 'sidekiq-cron', '~> 1.6.0'

# Gem for auditions queries
gem "audited"

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '~> 5.2'
#gem 'actionpack', '~> 5.0.0'

gem 'mysql2', '~> 0.5.4'

# Use SCSS for stylesheets
gem 'sass-rails'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier'
# Use CoffeeScript for .coffee assets and views
gem 'coffee-rails'

gem 'rack-cors'
gem 'js-routes', '1.4.1'

# A gem to parse equations written in C++
gem 'parsecs', '0.14.1'

# Allows classes to ignore desired validations
gem 'validations-skipper', git: 'https://github.com/oxeanbits/validations-skipper.git'

# Simple chaining system for building recurrences
gem 'montrose'

# Gem to handle eav columns
gem 'eav_hashes'
### FRONT END GEMS
gem 'bootstrap-sass'
gem 'bootstrap-will_paginate'
# Use Font-Awensomes for icons
gem 'font-awesome-rails'

gem 'rqrcode'

gem 'inflections', git: 'https://github.com/niltonvasques/inflections.git',
                   branch: 'iss17-brazilian-portuguese-inflections'

# Responders dry up the actions
gem 'responders'

gem 'simple_command'

# Mime types
gem 'mime-types'

# The role gem enable a access control management
# gem 'the_role', '~> 3.0.0'
gem 'the_role_api', git: 'https://github.com/niltonvasques/the_role_api.git',
                   branch: 'upgrade-rails'
gem 'the_role_management_panel', git: 'https://github.com/oxeanbits/the_role_management_panel.git'
# gem 'the_role_management_panel', '~> 3.0.0'

gem 'i18n-js'
gem 'i18n-active_record', require: 'i18n/active_record'

# Faker gem allow us, fill database with some users
gem 'faker'

# USeful for detect file type and avoid exploits to be uploaded to server
gem 'roo'
gem 'roo-xls'
gem 'ruby-filemagic'

# Handle upload documents
gem 'paperclip'
gem 'remotipart'
# Use jquery as the JavaScript library
gem 'jquery-rails', '4.5.1'
# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
gem 'turbolinks'

# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder'
gem 'oj'
gem 'rabl'

# JSON web token
gem 'jwt'

# Fix JSON encoding decimal to string
#gem 'activesupport-json_encoder'

# batch activerecord
gem 'activerecord-import'

# duplicate records
gem 'deep-cloning', '~> 0.3.0'

# bundle exec rake doc:rails generates the API under doc/api.
# TODO: upgrade or find a replacement
# gem 'sdoc', '~> 0.4.0', group: :doc

# Increase cookies store capacity
gem 'activerecord-session_store'
gem 'secure_headers'
gem 'thin'

# Use ActiveModel has_secure_password
# This gem is a used for encrypt password of user, by has_secure_password pattern
gem 'bcrypt'

# Use axlsx and related gems to export excel files from server
gem 'caxlsx'
gem 'caxlsx_rails', '~> 0.6.3'
gem 'rubyzip'

# Send variables from controller to js using gon
gem 'gon'

gem 'yaml_db'

gem 'awesome_print'

gem 'seed_migration'

gem 'money'

gem 'sentry-raven'

gem 'tzinfo-data'

# Create and manage database views in Rails
gem 'scenic'
gem 'scenic-mysql_adapter'

# Enable to generate PDF files
gem 'wicked_pdf'
gem 'wkhtmltopdf-binary'

group :production do
  gem 'newrelic_rpm', '~> 9.2'
end

group :development, :test do
  # Call 'byebug' anywhere in the code to stop execution and get a debugger console
  gem 'byebug'
  gem 'email_spec'
  gem 'capybara'

  gem 'rspec-collection_matchers'
  gem 'rspec-rails'
  gem 'teaspoon', git: 'https://github.com/jejacks0n/teaspoon.git', branch: :master
  gem 'teaspoon-mocha'

  gem 'factory_bot_rails', require: false

  gem 'database_cleaner'

  gem 'guard-rspec'
  gem 'rb-fsevent' if `uname` =~ /Darwin/
  gem 'spring-commands-rspec'

  gem 'fuubar'

  # adding env variables via configuration file
  gem 'figaro'

  gem 'parallel_tests'

  # Pry is a full replacement for the basic IRB with more power.
  # Call 'binding.pry' anywhere in the code for debugging with pry.
  gem 'pry-rails'

  # Adds step-by-step debugging and stack navigation capabilities to pry using byebug.
  gem 'pry-byebug'

  # Generates Rails 3/4/5 model (ActiveRecord, Mongoid, Datamapper) and controller UML diagrams
  gem 'railroady'

  # Suggests a method that returns the desired result, e.g. [1,2,3].what_returns? 1 => :first
  gem 'suggest_rb'
end

group :test do
  gem 'rspec-mocks' # for rspec-mocks only
  gem 'shoulda-matchers'

  gem 'mock_redis'
  # Test coverage gems
  gem 'simplecov', require: false
  gem 'selenium-webdriver'

  # Ruby test profiler
  gem 'test-prof', '~> 1.0'
end

group :development do
  # Access an IRB console on exception pages or by using <%= console %> in views
  gem 'web-console'

  gem 'sqlite3'
  # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
  gem 'spring'

  gem 'rails-erd'

  gem 'i18n-tasks', '0.9.12'

  gem 'octokit', '4.21.0'
  gem 'pronto'
  gem 'pronto-brakeman' # Analyze security issues
  gem 'pronto-eslint_npm' # JavaScript linter
  gem 'pronto-fasterer' # Analyze performance issues
  gem 'pronto-flay' # Analyze code replication
  gem 'pronto-rubocop', '0.11.5' # Analyze code style and bad smells
  gem 'rubocop', '1.54.2'
  gem 'rubocop-performance'
  gem 'rubocop-rails'
  gem 'rubocop-rspec'

  # rails benchmarking like ram-usage
  gem 'derailed_benchmarks'

  # identify n+1 query and loss of preloading stuff
  gem 'bullet'

  # Better Errors replaces the standard Rails error page with a better and more useful error page
  gem 'better_errors'

  # binding_of_caller is necessary to use Better Errors' advanced features
  # => REPL, local/instance variable inspection, pretty stack frame names)
  gem 'binding_of_caller'

  gem 'pp_sql'

  gem 'interactive_editor'

  # Rails panels adds a number of useful features to the Google Chrome inspector
  gem 'meta_request'
  # Enable cascade deletion (hard and soft)
  gem 'cascade-deleter', '~> 0.1.1'
end

gem "timecop"
  • Машина

Моя нынешняя машина — Macbook с чипом M3 Max и операционной системой — Sonoma 14.4 (23E214).

Это может помочь: github.com/sparklemotion/sqlite3-ruby/issues/295 (разная ОС, но те же ошибки и та же версия)

Stefan 18.06.2024 11:06

Я думаю, ваш вопрос можно свести к следующему: «Как правильно добавить параметры сборки в пакетную установку для конкретного драгоценного камня». Поскольку вы говорите, что это работает при использовании gem install, но не при использовании bundle install, похоже, именно в этом и заключается настоящая проблема.

Casper 18.06.2024 11:08
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
2
142
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Мне кажется, что вы, скорее всего, неправильно настраиваете параметры сборки упаковщика. Лучше всего это делать с помощью bundle config.

Я думаю, это то, что вы хотите:

bundle config --local build.nio4r --with-cflags = "-Wno-error=incompatible-function-pointer-types -Wno-error=int-conversion"
bundle config --local build.sqlite3 --with-cflags = "-Wno-error=incompatible-function-pointer-types -Wno-error=int-conversion"

Затем вы можете проверить, что конфигурация была сохранена правильно:

bundle config

Я попробовал через bundle config и ошибка nio4r исчезла. Однако ошибка sqlite3 и rugged все еще остается и препятствует успешной работе bundle install.

Victor Cordeiro Costa 03.07.2024 06:27

@VictorCordeiroCosta Я обновил флаги сборки для sqlite3. Пожалуйста, скопируйте их и повторите попытку. Если это работает, возможно, вы захотите установить такие же флаги для rugged.

Casper 03.07.2024 12:07

Спасибо @Каспер! Обновленная версия флагов заработала.

Victor Cordeiro Costa 04.07.2024 22:47

Другие вопросы по теме