bullet-train-co / bullet_train

The Open Source Ruby on Rails SaaS Template
MIT License
1.67k stars 265 forks source link

bin/configure fails on bundle install #8

Closed alexventuraio closed 2 years ago

alexventuraio commented 2 years ago

OSX version 12.2.1 MacBook Pro (16-inch, 2021) Chip Apple M1 Pro

This is the output:

Click to expand! ```sh $ bin/configure Bullet Train requires Ruby 3.1.1 and `ruby -v` returns ruby 3.1.1p18 (2022-02-18 revision 53f5fc4236) [arm64-darwin21]. Bullet Train requires Node.js 16.13.2 and `node -v` returns v16.13.2. Renaming repository `origin` remote to `bullet-train`. Hit and we'll open a browser to GitHub where you can create a new repository. When you're done, copy the SSH path from the new repository and return here. We'll ask you to paste it to us in the next step. OK, what was the SSH path? (It should look like `git@github.com:your-account/your-new-repo.git`.) git@github.com:alexventuraio/test-bullettrain.git Setting repository's `origin` remote to `git@github.com:alexventuraio/test-bullettrain.git`. Pushing repository to `origin`. To github.com:alexventuraio/test-bullettrain.git * [new branch] main -> main Running `bundle install`. Bundler 2.3.7 is running, but your lockfile was generated with 2.3.8. Installing Bundler 2.3.8 and restarting using that version. Fetching gem metadata from https://rubygems.org/. Fetching bundler 2.3.8 Installing bundler 2.3.8 Fetching gem metadata from https://rubygems.org/....... Fetching https://github.com/bullet-train-co/active_hash.git Fetching https://github.com/bullet-train-co/wine_bouncer.git Fetching https://github.com/brentd/xray-rails.git Using rake 13.0.6 Fetching concurrent-ruby 1.1.10 Using minitest 5.15.0 Using erubi 1.10.0 Fetching mini_portile2 2.8.0 Using racc 1.6.0 Using rack 2.2.3 Using nio4r 2.5.8 Using websocket-extensions 0.1.5 Using marcel 1.0.2 Using mini_mime 1.1.2 Using digest 3.1.0 Using io-wait 0.2.1 Using timeout 0.2.0 Using strscan 3.0.1 Fetching public_suffix 4.0.6 Fetching api-pagination 5.0.0 Using ast 2.4.2 Fetching awesome_print 1.9.2 Fetching aws-eventstream 1.2.0 Fetching jmespath 1.6.1 Using builder 3.2.4 Using crass 1.0.6 Fetching aws-partitions 1.570.0 Fetching bcrypt 3.1.17 Fetching aws_cf_signer 0.1.3 Installing mini_portile2 2.8.0 Installing jmespath 1.6.1 Installing aws_cf_signer 0.1.3 Installing aws-partitions 1.570.0 Installing awesome_print 1.9.2 Installing api-pagination 5.0.0 Using bindex 0.8.1 Fetching debug_inspector 1.1.0 Using msgpack 1.4.5 Fetching http-accept 1.7.0 Fetching unf_ext 0.0.8.1 Fetching mime-types-data 3.2022.0105 Fetching netrc 0.11.0 Installing public_suffix 4.0.6 Fetching phonelib 0.6.57 Using bundler 2.3.8 Using method_source 1.0.0 Using thor 1.2.1 Using zeitwerk 2.5.4 Fetching cancancan 3.3.0 Installing bcrypt 3.1.17 with native extensions Installing debug_inspector 1.1.0 with native extensions Installing netrc 0.11.0 Installing http-accept 1.7.0 Installing concurrent-ruby 1.1.10 Installing aws-eventstream 1.2.0 Fetching bullet_train-scope_validator 1.0.2 Fetching thread-local 1.1.0 Fetching commonmarker 0.23.4 Using orm_adapter 0.5.0 Fetching charlock_holmes 0.7.7 Installing cancancan 3.3.0 Fetching email_reply_parser 0.5.10 Installing mime-types-data 3.2022.0105 Fetching fastimage 2.2.6 Installing thread-local 1.1.0 Fetching hiredis 0.6.3 Installing charlock_holmes 0.7.7 with native extensions Installing bullet_train-scope_validator 1.0.2 Installing email_reply_parser 0.5.10 Installing unf_ext 0.0.8.1 with native extensions Fetching http_accept_language 2.1.1 Fetching possessive 1.0.1 Installing fastimage 2.2.6 Installing commonmarker 0.23.4 with native extensions Fetching htmlentities 4.3.4 Installing http_accept_language 2.1.1 Installing hiredis 0.6.3 with native extensions Installing possessive 1.0.1 Using coderay 1.1.3 Using connection_pool 2.2.5 Using redis 4.6.0 Fetching dry-inflector 0.2.1 Installing htmlentities 4.3.4 Using ruby2_keywords 0.0.5 Fetching kaminari-core 1.2.2 Fetching hashie 5.0.0 Installing phonelib 0.6.57 Fetching faraday-net_http 2.0.1 Installing dry-inflector 0.2.1 Fetching jwt 2.3.0 Installing kaminari-core 1.2.2 Fetching multi_json 1.15.0 Installing hashie 5.0.0 Fetching multi_xml 0.6.0 Installing faraday-net_http 2.0.1 Fetching stripe 5.46.0 Installing jwt 2.3.0 Fetching hashids 1.0.6 Installing multi_json 1.15.0 Using matrix 0.4.2 Using regexp_parser 2.2.1 Fetching childprocess 4.1.0 Installing multi_xml 0.6.0 Fetching sexp_processor 4.16.0 Installing hashids 1.0.6 Using io-console 0.5.11 Fetching erubis 2.7.0 Installing childprocess 4.1.0 Using foreman 0.87.2 Fetching honeybadger 4.11.0 Installing sexp_processor 4.16.0 Using json 2.6.1 Fetching knapsack_pro 3.2.1 Installing stripe 5.46.0 Installing erubis 2.7.0 Fetching parallel 1.22.0 Installing knapsack_pro 3.2.1 Using pg 1.3.4 Fetching rails_autoscale_agent 0.11.0 Installing honeybadger 4.11.0 Fetching require_all 3.0.0 Installing parallel 1.22.0 Using ruby-progressbar 1.11.0 Using rainbow 3.1.1 Using rexml 3.2.5 Using unicode-display_width 2.1.0 Fetching rubyzip 2.3.2 Fetching timecop 0.9.5 Installing rails_autoscale_agent 0.11.0 Using rack-test 1.1.0 Using websocket-driver 0.7.5 Using mail 2.7.1 Using net-protocol 0.1.2 Using warden 1.2.9 Fetching rack-accept 0.4.5 Fetching rack-cors 1.1.1 Fetching minitest-retry 0.2.2 Installing require_all 3.0.0 Using parser 3.1.1.0 Using puma 5.6.2 Fetching rack-mini-profiler 3.0.0 Installing rubyzip 2.3.2 Installing timecop 0.9.5 Using bootsnap 1.11.1 Fetching nokogiri 1.13.3 Fetching addressable 2.8.0 Installing minitest-retry 0.2.2 Fetching figaro 1.2.0 Installing rack-accept 0.4.5 Fetching aws-sigv4 1.4.0 Using i18n 1.10.0 Using tzinfo 2.0.4 Fetching dry-core 0.7.1 Installing rack-cors 1.1.1 Fetching sentry-ruby-core 5.2.1 Installing dry-core 0.7.1 Installing aws-sigv4 1.4.0 Using sprockets 4.0.3 Fetching mime-types 3.4.1 Fetching pry 0.14.1 Installing addressable 2.8.0 Installing figaro 1.2.0 Installing rack-mini-profiler 3.0.0 Using sidekiq 6.4.1 Fetching mustermann 1.1.1 Fetching omniauth 1.9.1 Fetching faraday 2.2.0 Installing sentry-ruby-core 5.2.1 Using reline 0.3.1 Fetching code_analyzer 0.5.5 Installing mime-types 3.4.1 Fetching postmark 1.22.0 Installing omniauth 1.9.1 Fetching binding_of_caller 1.0.0 Installing mustermann 1.1.1 Installing pry 0.14.1 Using net-imap 0.2.3 Using net-pop 0.1.1 Using net-smtp 0.3.1 Using rubocop-ast 1.16.0 Fetching selenium-webdriver 4.1.0 Installing faraday 2.2.0 Using activesupport 7.0.2.3 Fetching aws-sdk-core 3.130.0 Installing code_analyzer 0.5.5 Fetching dry-configurable 0.14.0 Fetching dry-logic 1.2.0 Fetching css_parser 1.11.0 Installing binding_of_caller 1.0.0 Installing postmark 1.22.0 Fetching launchy 2.5.0 Fetching sentry-ruby 5.2.1 Installing dry-configurable 0.14.0 Fetching sentry-sidekiq 5.2.1 Using irb 1.4.1 Fetching unf 0.1.4 Installing css_parser 1.11.0 Fetching rubocop 1.26.0 Installing launchy 2.5.0 Fetching mustermann-grape 1.0.1 Installing dry-logic 1.2.0 Using globalid 1.0.0 Using activemodel 7.0.2.3 Using active_hash 3.1.0 from https://github.com/bullet-train-co/active_hash.git (at master@a6628bc) Fetching jsonapi-serializer 2.2.0 Installing mustermann-grape 1.0.1 Fetching indefinite_article 0.2.4 Installing sentry-sidekiq 5.2.1 Fetching factory_bot 6.2.1 Installing sentry-ruby 5.2.1 Installing aws-sdk-core 3.130.0 Fetching rails_best_practices 1.23.1 Fetching oauth2 1.4.9 Installing selenium-webdriver 4.1.0 Installing indefinite_article 0.2.4 Installing jsonapi-serializer 2.2.0 Installing factory_bot 6.2.1 Fetching pry-stack_explorer 0.6.1 Fetching dry-container 0.9.0 Using debug 1.4.0 Fetching premailer 1.15.0 Fetching letter_opener 1.8.1 Installing oauth2 1.4.9 Using activejob 7.0.2.3 Using activerecord 7.0.2.3 Fetching bullet_train-roles 0.1.6 Installing pry-stack_explorer 0.6.1 Fetching aws-sdk-kms 1.55.0 Installing dry-container 0.9.0 Fetching omniauth-oauth2 1.7.2 Installing rails_best_practices 1.23.1 Installing letter_opener 1.8.1 Installing premailer 1.15.0 Fetching microscope 1.1.1 Fetching kaminari-activerecord 1.2.2 Fetching dry-types 1.5.1 Installing bullet_train-roles 0.1.6 Installing unf 0.1.4 Fetching domain_name 0.5.20190701 Fetching simpleidn 0.2.1 Installing omniauth-oauth2 1.7.2 Fetching omniauth-stripe-connect 2.10.1 Installing aws-sdk-kms 1.55.0 Installing kaminari-activerecord 1.2.2 Installing rubocop 1.26.0 Fetching aws-sdk-s3 1.113.0 Installing microscope 1.1.1 Installing dry-types 1.5.1 Fetching grape 1.6.2 Installing omniauth-stripe-connect 2.10.1 Using rubocop-performance 1.13.3 Fetching standard 1.9.0 Installing domain_name 0.5.20190701 Fetching http-cookie 1.0.4 Installing simpleidn 0.2.1 Fetching valid_email 0.1.4 Installing standard 1.9.0 Installing aws-sdk-s3 1.113.0 Installing http-cookie 1.0.4 Installing valid_email 0.1.4 Fetching rest-client 2.1.0 Installing grape 1.6.2 Fetching grape-jsonapi 1.0.1 Fetching grape-swagger 1.4.2 Fetching grape-cancan 0.0.3 Installing grape-cancan 0.0.3 Installing grape-jsonapi 1.0.1 Installing rest-client 2.1.0 Fetching cloudinary 1.22.0 Installing grape-swagger 1.4.2 Installing cloudinary 1.22.0 Installing nokogiri 1.13.3 with native extensions Using rails-dom-testing 2.0.3 Fetching webdrivers 5.0.0 Fetching loofah 2.15.0 Fetching xpath 3.2.0 Installing xpath 3.2.0 Installing webdrivers 5.0.0 Installing loofah 2.15.0 Fetching capybara 3.36.0 Using rails-html-sanitizer 1.4.2 Using actionview 7.0.2.3 Using actionpack 7.0.2.3 Fetching nice_partials 0.1.6 Using jbuilder 2.11.5 Fetching kaminari-actionview 1.2.2 Using actioncable 7.0.2.3 Using activestorage 7.0.2.3 Using actionmailer 7.0.2.3 Using railties 7.0.2.3 Using sprockets-rails 3.4.2 Fetching omniauth-rails_csrf_protection 0.1.2 Using actiontext 7.0.2.3 Using actionmailbox 7.0.2.3 Using responders 3.0.1 Fetching premailer-rails 1.11.1 Fetching doorkeeper 5.5.4 Fetching cssbundling-rails 1.1.0 Using factory_bot_rails 6.2.0 Fetching jsbundling-rails 1.0.2 Fetching postmark-rails 0.22.0 Fetching sentry-rails 5.2.1 Installing jsbundling-rails 1.0.2 Installing premailer-rails 1.11.1 Installing nice_partials 0.1.6 Installing sentry-rails 5.2.1 Installing omniauth-rails_csrf_protection 0.1.2 Installing cssbundling-rails 1.1.0 Installing postmark-rails 0.22.0 Installing kaminari-actionview 1.2.2 Installing doorkeeper 5.5.4 Using stimulus-rails 1.0.4 Using turbo-rails 1.0.1 Using web-console 4.2.0 Using rails 7.0.2.3 Using devise 4.8.1 Fetching bullet_train-fields 1.0.4 Fetching bullet_train-has_uuid 1.0.2 Fetching bullet_train-super_load_and_authorize_resource 1.0.0 Fetching cable_ready 5.0.0.pre8 Fetching grape_on_rails_routes 0.3.2 Fetching bullet_train-incoming_webhooks 1.0.1 Fetching bullet_train-integrations 1.0.0 Fetching bullet_train-obfuscates_id 1.0.2 Installing capybara 3.36.0 Fetching bullet_train-outgoing_webhooks 1.0.4 Fetching bullet_train-scope_questions 1.0.2 Installing bullet_train-has_uuid 1.0.2 Installing bullet_train-super_load_and_authorize_resource 1.0.0 Installing grape_on_rails_routes 0.3.2 Installing cable_ready 5.0.0.pre8 Fetching bullet_train-sortable 1.0.2 Installing bullet_train-integrations 1.0.0 Fetching bullet_train-super_scaffolding 1.0.21 Fetching bullet_train-themes 1.0.6 Installing bullet_train-incoming_webhooks 1.0.1 Installing bullet_train-fields 1.0.4 Installing bullet_train-obfuscates_id 1.0.2 Using xray-rails 0.3.2 from https://github.com/brentd/xray-rails.git (at 4f6cca0@4f6cca0) Installing bullet_train-outgoing_webhooks 1.0.4 Fetching kaminari 1.2.2 Fetching bullet_train-integrations-stripe 1.0.3 Installing bullet_train-scope_questions 1.0.2 Using wine_bouncer 1.0.4 from https://github.com/bullet-train-co/wine_bouncer.git (at master@638eef8) Fetching capybara-email 3.0.2 Fetching magic_test 0.0.9 Installing bullet_train-sortable 1.0.2 Installing bullet_train-super_scaffolding 1.0.21 Installing bullet_train-integrations-stripe 1.0.3 Installing capybara-email 3.0.2 Installing bullet_train-themes 1.0.6 Installing magic_test 0.0.9 Installing kaminari 1.2.2 Gem::Ext::BuildError: ERROR: Failed to build gem native extension. current directory: /Users/alex/.rvm/gems/ruby-3.1.1/gems/charlock_holmes-0.7.7/ext/charlock_holmes /Users/alex/.rvm/rubies/ruby-3.1.1/bin/ruby -I /Users/alex/.rvm/rubies/ruby-3.1.1/lib/ruby/3.1.0 -r ./siteconf20220327-3832-xoy4t0.rb extconf.rb checking for -licui18n... no *************************************************************************************** *********** icu required (brew install icu4c or apt-get install libicu-dev) *********** *************************************************************************************** *** extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options. Provided configuration options: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include=${opt-dir}/include --with-opt-lib --without-opt-lib=${opt-dir}/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=/Users/alex/.rvm/rubies/ruby-3.1.1/bin/$(RUBY_BASE_NAME) --with-icu-dir --without-icu-dir --with-icu-include --without-icu-include=${icu-dir}/include --with-icu-lib --without-icu-lib=${icu-dir}/lib --with-icu-i18n-dir --without-icu-i18n-dir --with-icu-i18n-include --without-icu-i18n-include=${icu-i18n-dir}/include --with-icu-i18n-lib --without-icu-i18n-lib=${icu-i18n-dir}/lib --with-icu-i18n-config --without-icu-i18n-config --with-pkg-config --without-pkg-config --with-icu-io-dir --without-icu-io-dir --with-icu-io-include --without-icu-io-include=${icu-io-dir}/include --with-icu-io-lib --without-icu-io-lib=${icu-io-dir}/lib --with-icu-io-config --without-icu-io-config --with-icu-uc-dir --without-icu-uc-dir --with-icu-uc-include --without-icu-uc-include=${icu-uc-dir}/include --with-icu-uc-lib --without-icu-uc-lib=${icu-uc-dir}/lib --with-icu-uc-config --without-icu-uc-config --with-icui18n-dir --without-icui18n-dir --with-icui18n-include --without-icui18n-include=${icui18n-dir}/include --with-icui18n-lib --without-icui18n-lib=${icui18n-dir}/lib --with-icui18nlib --without-icui18nlib To see why this extension failed to compile, please check the mkmf.log which can be found here: /Users/alex/.rvm/gems/ruby-3.1.1/extensions/arm64-darwin-21/3.1.0/charlock_holmes-0.7.7/mkmf.log extconf failed, exit code 1 Gem files will remain installed in /Users/alex/.rvm/gems/ruby-3.1.1/gems/charlock_holmes-0.7.7 for inspection. Results logged to /Users/alex/.rvm/gems/ruby-3.1.1/extensions/arm64-darwin-21/3.1.0/charlock_holmes-0.7.7/gem_make.out /Users/alex/.rvm/rubies/ruby-3.1.1/lib/ruby/3.1.0/rubygems/ext/builder.rb:95:in `run' /Users/alex/.rvm/rubies/ruby-3.1.1/lib/ruby/3.1.0/rubygems/ext/ext_conf_builder.rb:47:in `block in build' /Users/alex/.rvm/rubies/ruby-3.1.1/lib/ruby/3.1.0/tempfile.rb:317:in `open' /Users/alex/.rvm/rubies/ruby-3.1.1/lib/ruby/3.1.0/rubygems/ext/ext_conf_builder.rb:26:in `build' /Users/alex/.rvm/rubies/ruby-3.1.1/lib/ruby/3.1.0/rubygems/ext/builder.rb:161:in `build_extension' /Users/alex/.rvm/rubies/ruby-3.1.1/lib/ruby/3.1.0/rubygems/ext/builder.rb:195:in `block in build_extensions' /Users/alex/.rvm/rubies/ruby-3.1.1/lib/ruby/3.1.0/rubygems/ext/builder.rb:192:in `each' /Users/alex/.rvm/rubies/ruby-3.1.1/lib/ruby/3.1.0/rubygems/ext/builder.rb:192:in `build_extensions' /Users/alex/.rvm/rubies/ruby-3.1.1/lib/ruby/3.1.0/rubygems/installer.rb:853:in `build_extensions' /Users/alex/.rvm/gems/ruby-3.1.1/gems/bundler-2.3.8/lib/bundler/rubygems_gem_installer.rb:71:in `build_extensions' /Users/alex/.rvm/gems/ruby-3.1.1/gems/bundler-2.3.8/lib/bundler/rubygems_gem_installer.rb:28:in `install' /Users/alex/.rvm/gems/ruby-3.1.1/gems/bundler-2.3.8/lib/bundler/source/rubygems.rb:204:in `install' /Users/alex/.rvm/gems/ruby-3.1.1/gems/bundler-2.3.8/lib/bundler/installer/gem_installer.rb:54:in `install' /Users/alex/.rvm/gems/ruby-3.1.1/gems/bundler-2.3.8/lib/bundler/installer/gem_installer.rb:16:in `install_from_spec' /Users/alex/.rvm/gems/ruby-3.1.1/gems/bundler-2.3.8/lib/bundler/installer/parallel_installer.rb:186:in `do_install' /Users/alex/.rvm/gems/ruby-3.1.1/gems/bundler-2.3.8/lib/bundler/installer/parallel_installer.rb:177:in `block in worker_pool' /Users/alex/.rvm/gems/ruby-3.1.1/gems/bundler-2.3.8/lib/bundler/worker.rb:62:in `apply_func' /Users/alex/.rvm/gems/ruby-3.1.1/gems/bundler-2.3.8/lib/bundler/worker.rb:57:in `block in process_queue' /Users/alex/.rvm/gems/ruby-3.1.1/gems/bundler-2.3.8/lib/bundler/worker.rb:54:in `loop' /Users/alex/.rvm/gems/ruby-3.1.1/gems/bundler-2.3.8/lib/bundler/worker.rb:54:in `process_queue' /Users/alex/.rvm/gems/ruby-3.1.1/gems/bundler-2.3.8/lib/bundler/worker.rb:91:in `block (2 levels) in create_threads' An error occurred while installing charlock_holmes (0.7.7), and Bundler cannot continue. In Gemfile: bullet_train was resolved to 1.0.41, which depends on extended_email_reply_parser was resolved to 0.5.1, which depends on charlock_holmes Yarn is installed. Running `yarn install`. yarn install v1.22.17 [1/4] Resolving packages... [2/4] Fetching packages... [3/4] Linking dependencies... warning " > @rails/actiontext@7.0.2" has unmet peer dependency "trix@^1.3.1". [4/4] Building fresh packages... Done in 34.70s. What is the name of your new application in title case? (e.g. "Some Great Application") TestBullettrain Replacing instances of "Untitled Application" with "TestBullettrain" throughout the codebase. Replacing in './.circleci/config.yml'. Replacing in './config/database.yml'. Replacing in './config/database.yml'. Replacing in './config/cable.yml'. Replacing in './config/initializers/session_store.rb'. Replacing in './config/environments/production.rb'. Replacing in './config/application.rb'. Replacing in './config/locales/en/application.en.yml'. Replacing in './config/locales/en/application.en.yml'. Replacing in './config/locales/en/application.en.yml'. Replacing in './config/locales/en/user_mailer.en.yml'. Moving `./README.md.example` to `./README.md`. mv: ./README.md.example: No such file or directory Replacing in './README.md'. Committing all these changes to the repository. [main 73ba4e7] Run configuration script. 9 files changed, 22 insertions(+), 22 deletions(-) Enumerating objects: 33, done. Counting objects: 100% (33/33), done. Delta compression using up to 10 threads Compressing objects: 100% (15/15), done. Writing objects: 100% (17/17), 1.52 KiB | 1.52 MiB/s, done. Total 17 (delta 12), reused 0 (delta 0), pack-reused 0 remote: Resolving deltas: 100% (12/12), completed with 12 local objects. To github.com:alexventuraio/test-bullettrain.git 8c2233c..73ba4e7 main -> main OK, we're done, but at some point you should edit `config/locales/en/application.en.yml`! Next you can run `bin/setup` and then `bin/dev`. ```
andrewculver commented 2 years ago

@alexventuraio Do you have Homebrew installed? If so, can you try running brew install icu4c and rerunning bundle install?

whitemerry commented 2 years ago

Would be nice to create pre-requirements section in default repository README.md that will mention to install global required packages like yarn or icu4c as bin/configure fails on these with clean Node version (from nvm) and clean Ruby version (from rvm) installed specifically for the project. Would be easier for less experienced developers to get started.

andrewculver commented 2 years ago

@whitemerry Yes, I think what we actually want to do is have bin/configure just check for those requirements and tell them how to install stuff if they're not installed already.

kylejtay commented 2 years ago

Yes, not having icu4c installed prior to bin/configure and bin/setup and not having redis-server running caused some headaches in getting bullet train up and running.

andrewculver commented 2 years ago

Should be solved by https://github.com/bullet-train-co/bullet_train/commit/25d407118c9a90a1108171d69a31ef9c59f5ae6e . 🤞

andrewculver commented 2 years ago

Yarn should be fixed in e467494.