Problems with bigdecimal gem installation on Windows

Hello. I’m having trouble starting Hanami server. Specifically with bigdecimal gem. When I try to start Hanami server, the following problems occur:

hanami server
14:46:36 - INFO - Using Guardfile at C:/Users/1/workspace/books/Guardfile.
  Please add the following to your Gemfile to avoid polling for changes:
    gem 'wdm', '>= 0.1.0' if Gem.win_platform?
14:46:39 - INFO - Run 'gem install win32console' to use color on Windows
14:46:39 - INFO - Puma starting on port 2300 in development environment.
14:46:39 - INFO - Guard is now watching at 'C:/Users/1/workspace/books'
Ignoring bigdecimal-3.1.7 because its extensions are not built. Try: gem pristine bigdecimal --version 3.1.7
Ignoring debug_inspector-1.2.0 because its extensions are not built. Try: gem pristine debug_inspector --version 1.2.0
Ignoring ffi-1.16.3 because its extensions are not built. Try: gem pristine ffi --version 1.16.3
Ignoring nio4r-2.7.1 because its extensions are not built. Try: gem pristine nio4r --version 2.7.1
Ignoring puma-6.4.2 because its extensions are not built. Try: gem pristine puma --version 6.4.2
Ignoring racc-1.7.3 because its extensions are not built. Try: gem pristine racc --version 1.7.3
Ignoring wdm-0.1.1 because its extensions are not built. Try: gem pristine wdm --version 0.1.1
Ignoring win32console-1.3.2 because its extensions are not built. Try: gem pristine win32console --version 1.3.2
Could not find puma-6.4.2, nio4r-2.7.1, debug_inspector-1.2.0, racc-1.7.3, ffi-1.16.3, bigdecimal-3.1.7 in locally installed gems
Run `bundle install` to install missing gems.

When I follow these instructions, all gems except bigdecimal behave appropriately. The following happens with bigdecimal:

gem pristine bigdecimal --version 3.1.7
Restoring gems to pristine condition...
Using rubygems directory: C:/Users/1/.local/share/gem/ruby/3.3.0
Building native extensions. This could take a while...
ERROR:  While executing gem ... (Gem::Ext::BuildError)
    ERROR: Failed to build gem native extension.

    current directory: C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bigdecimal-3.1.7/ext/bigdecimal
C:/Ruby33-x64/bin/ruby.exe extconf.rb
checking for __builtin_clz()... yes
checking for __builtin_clzl()... yes
checking for __builtin_clzll()... yes
checking for float.h... yes
checking for math.h... yes
checking for stdbool.h... yes
checking for stdlib.h... yes
checking for x86intrin.h... yes
checking for _lzcnt_u32() in x86intrin.h... no
checking for _lzcnt_u64() in x86intrin.h... no
checking for intrin.h... yes
checking for __lzcnt() in intrin.h... no
checking for __lzcnt64() in intrin.h... no
checking for _BitScanReverse() in intrin.h... yes
checking for _BitScanReverse64() in intrin.h... yes
checking for labs() in stdlib.h... yes
checking for llabs() in stdlib.h... yes
checking for finite() in math.h... yes
checking for isfinite() in math.h... no
checking for ruby/atomic.h... yes
checking for ruby/internal/has/builtin.h... yes
checking for ruby/internal/static_assert.h... yes
checking for rb_rational_num() in ruby.h... yes
checking for rb_rational_den() in ruby.h... yes
checking for rb_complex_real() in ruby.h... yes
checking for rb_complex_imag() in ruby.h... yes
checking for rb_opts_exception_p() in ruby.h... yes
checking for rb_category_warn() in ruby.h... yes
checking for RB_WARN_CATEGORY_DEPRECATED in ruby.h... yes
creating Makefile

current directory: C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bigdecimal-3.1.7/ext/bigdecimal
make DESTDIR\= sitearchdir\=./.gem.20240327-7832-b3bwta sitelibdir\=./.gem.20240327-7832-b3bwta clean

current directory: C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bigdecimal-3.1.7/ext/bigdecimal
make DESTDIR\= sitearchdir\=./.gem.20240327-7832-b3bwta sitelibdir\=./.gem.20240327-7832-b3bwta
generating bigdecimal-x64-mingw-ucrt.def
compiling bigdecimal.c
compiling missing.c
linking shared-object bigdecimal.so

current directory: C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bigdecimal-3.1.7/ext/bigdecimal
make DESTDIR\= sitearchdir\=./.gem.20240327-7832-b3bwta sitelibdir\=./.gem.20240327-7832-b3bwta install
/usr/bin/install -c -m 0755 bigdecimal.so ./.gem.20240327-7832-b3bwta

Permission denied @ apply2files - C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bigdecimal-3.1.7/lib/bigdecimal.so

Gem files will remain installed in C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bigdecimal-3.1.7 for inspection.
Results logged to C:/Users/1/.local/share/gem/ruby/3.3.0/extensions/x64-mingw-ucrt/3.3.0/bigdecimal-3.1.7/gem_make.out
        C:/Ruby33-x64/lib/ruby/3.3.0/fileutils.rb:1047:in `unlink'
        C:/Ruby33-x64/lib/ruby/3.3.0/fileutils.rb:1047:in `block in copy_entry'
        C:/Ruby33-x64/lib/ruby/3.3.0/fileutils.rb:2385:in `wrap_traverse'
        C:/Ruby33-x64/lib/ruby/3.3.0/fileutils.rb:1045:in `copy_entry'
        C:/Ruby33-x64/lib/ruby/3.3.0/fileutils.rb:990:in `block in cp_r'
        C:/Ruby33-x64/lib/ruby/3.3.0/fileutils.rb:2469:in `block in fu_each_src_dest'
        C:/Ruby33-x64/lib/ruby/3.3.0/fileutils.rb:2478:in `block in fu_each_src_dest0'
        C:/Ruby33-x64/lib/ruby/3.3.0/fileutils.rb:2476:in `each'
        C:/Ruby33-x64/lib/ruby/3.3.0/fileutils.rb:2476:in `fu_each_src_dest0'
        C:/Ruby33-x64/lib/ruby/3.3.0/fileutils.rb:2467:in `fu_each_src_dest'
        C:/Ruby33-x64/lib/ruby/3.3.0/fileutils.rb:989:in `cp_r'
        C:/Ruby33-x64/lib/ruby/3.3.0/rubygems/ext/ext_conf_builder.rb:51:in `build'
        C:/Ruby33-x64/lib/ruby/3.3.0/rubygems/ext/builder.rb:193:in `build_extension'
        C:/Ruby33-x64/lib/ruby/3.3.0/rubygems/ext/builder.rb:227:in `block in build_extensions'
        C:/Ruby33-x64/lib/ruby/3.3.0/rubygems/ext/builder.rb:224:in `each'
        C:/Ruby33-x64/lib/ruby/3.3.0/rubygems/ext/builder.rb:224:in `build_extensions'
        C:/Ruby33-x64/lib/ruby/3.3.0/rubygems/installer.rb:852:in `build_extensions'
        C:/Ruby33-x64/lib/ruby/3.3.0/rubygems/installer.rb:330:in `install'
        C:/Ruby33-x64/lib/ruby/3.3.0/rubygems/commands/pristine_command.rb:198:in `block in execute'
        C:/Ruby33-x64/lib/ruby/3.3.0/rubygems/commands/pristine_command.rb:133:in `each'
        C:/Ruby33-x64/lib/ruby/3.3.0/rubygems/commands/pristine_command.rb:133:in `execute'
        C:/Ruby33-x64/lib/ruby/3.3.0/rubygems/command.rb:326:in `invoke_with_build_args'
        C:/Ruby33-x64/lib/ruby/3.3.0/rubygems/command_manager.rb:254:in `invoke_command'
        C:/Ruby33-x64/lib/ruby/3.3.0/rubygems/command_manager.rb:193:in `process_args'
        C:/Ruby33-x64/lib/ruby/3.3.0/rubygems/command_manager.rb:151:in `run'
        C:/Ruby33-x64/lib/ruby/3.3.0/rubygems/gem_runner.rb:56:in `run'
        C:/Ruby33-x64/bin/gem.cmd:20:in `<main>'

C:\Users\1\workspace\books>bundle install
Ignoring bigdecimal-3.1.7 because its extensions are not built. Try: gem pristine bigdecimal --version 3.1.7
Fetching gem metadata from https://rubygems.org/...........
Installing bigdecimal 3.1.7 with native extensions
Bundler::DirectoryRemovalError: Could not delete previous installation of
`C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bigdecimal-3.1.7`.
The underlying error was Errno::EACCES: Permission denied @ apply2files -
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bigdecimal-3.1.7/lib/bigdecimal.so,
with backtrace:
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/vendor/fileutils/lib/fileutils.rb:2330:in
`unlink'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/vendor/fileutils/lib/fileutils.rb:2330:in
`block in remove_file'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/vendor/fileutils/lib/fileutils.rb:2338:in
`platform_support'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/vendor/fileutils/lib/fileutils.rb:2329:in
`remove_file'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/vendor/fileutils/lib/fileutils.rb:2318:in
`remove'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/vendor/fileutils/lib/fileutils.rb:1452:in
`block in remove_entry'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/vendor/fileutils/lib/fileutils.rb:2377:in
`block (2 levels) in postorder_traverse'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/vendor/fileutils/lib/fileutils.rb:2377:in
`block (2 levels) in postorder_traverse'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/vendor/fileutils/lib/fileutils.rb:2381:in
`postorder_traverse'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/vendor/fileutils/lib/fileutils.rb:2376:in
`block in postorder_traverse'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/vendor/fileutils/lib/fileutils.rb:2375:in
`each'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/vendor/fileutils/lib/fileutils.rb:2375:in
`postorder_traverse'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/vendor/fileutils/lib/fileutils.rb:2376:in
`block in postorder_traverse'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/vendor/fileutils/lib/fileutils.rb:2375:in
`each'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/vendor/fileutils/lib/fileutils.rb:2375:in
`postorder_traverse'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/vendor/fileutils/lib/fileutils.rb:1450:in
`remove_entry'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/vendor/fileutils/lib/fileutils.rb:1365:in
`remove_entry_secure'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/rubygems_gem_installer.rb:129:in
`strict_rm_rf'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/rubygems_gem_installer.rb:19:in
`install'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/source/rubygems.rb:205:in
`install'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/installer/gem_installer.rb:54:in
`install'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/installer/gem_installer.rb:16:in
`install_from_spec'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/installer/parallel_installer.rb:132:in
`do_install'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/installer/parallel_installer.rb:123:in
`block in worker_pool'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/worker.rb:62:in
`apply_func'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/worker.rb:57:in
`block in process_queue'
  <internal:kernel>:187:in `loop'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/worker.rb:54:in
`process_queue'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/worker.rb:90:in
`block (2 levels) in create_threads'

Bundler Error Backtrace:
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/rubygems_gem_installer.rb:133:in
`rescue in strict_rm_rf'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/rubygems_gem_installer.rb:128:in
`strict_rm_rf'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/rubygems_gem_installer.rb:19:in
`install'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/source/rubygems.rb:205:in
`install'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/installer/gem_installer.rb:54:in
`install'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/installer/gem_installer.rb:16:in
`install_from_spec'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/installer/parallel_installer.rb:132:in
`do_install'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/installer/parallel_installer.rb:123:in
`block in worker_pool'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/worker.rb:62:in
`apply_func'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/worker.rb:57:in
`block in process_queue'
  <internal:kernel>:187:in `loop'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/worker.rb:54:in
`process_queue'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/worker.rb:90:in
`block (2 levels) in create_threads'

An error occurred while installing bigdecimal (3.1.7), and Bundler cannot
continue.

In Gemfile:
  hanami-validations was resolved to 2.1.0, which depends on
    dry-validation was resolved to 1.10.0, which depends on
      dry-schema was resolved to 1.13.3, which depends on
        dry-types was resolved to 1.7.2, which depends on
          bigdecimal

I’m trying to start the Hanami server again:

hanami server
Ignoring bigdecimal-3.1.7 because its extensions are not built. Try: gem pristine bigdecimal --version 3.1.7
Could not find bigdecimal-3.1.7 in locally installed gems
Run `bundle install` to install missing gems.

OK, I’m trying to use bundle install:

bundle install
Ignoring bigdecimal-3.1.7 because its extensions are not built. Try: gem pristine bigdecimal --version 3.1.7
Fetching gem metadata from https://rubygems.org/...........
Installing bigdecimal 3.1.7 with native extensions
Bundler::DirectoryRemovalError: Could not delete previous installation of
`C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bigdecimal-3.1.7`.
The underlying error was Errno::EACCES: Permission denied @ apply2files -
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bigdecimal-3.1.7/lib/bigdecimal.so,
with backtrace:
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/vendor/fileutils/lib/fileutils.rb:2330:in
`unlink'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/vendor/fileutils/lib/fileutils.rb:2330:in
`block in remove_file'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/vendor/fileutils/lib/fileutils.rb:2338:in
`platform_support'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/vendor/fileutils/lib/fileutils.rb:2329:in
`remove_file'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/vendor/fileutils/lib/fileutils.rb:2318:in
`remove'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/vendor/fileutils/lib/fileutils.rb:1452:in
`block in remove_entry'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/vendor/fileutils/lib/fileutils.rb:2377:in
`block (2 levels) in postorder_traverse'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/vendor/fileutils/lib/fileutils.rb:2377:in
`block (2 levels) in postorder_traverse'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/vendor/fileutils/lib/fileutils.rb:2381:in
`postorder_traverse'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/vendor/fileutils/lib/fileutils.rb:2376:in
`block in postorder_traverse'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/vendor/fileutils/lib/fileutils.rb:2375:in
`each'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/vendor/fileutils/lib/fileutils.rb:2375:in
`postorder_traverse'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/vendor/fileutils/lib/fileutils.rb:2376:in
`block in postorder_traverse'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/vendor/fileutils/lib/fileutils.rb:2375:in
`each'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/vendor/fileutils/lib/fileutils.rb:2375:in
`postorder_traverse'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/vendor/fileutils/lib/fileutils.rb:1450:in
`remove_entry'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/vendor/fileutils/lib/fileutils.rb:1365:in
`remove_entry_secure'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/rubygems_gem_installer.rb:129:in
`strict_rm_rf'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/rubygems_gem_installer.rb:19:in
`install'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/source/rubygems.rb:205:in
`install'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/installer/gem_installer.rb:54:in
`install'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/installer/gem_installer.rb:16:in
`install_from_spec'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/installer/parallel_installer.rb:132:in
`do_install'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/installer/parallel_installer.rb:123:in
`block in worker_pool'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/worker.rb:62:in
`apply_func'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/worker.rb:57:in
`block in process_queue'
  <internal:kernel>:187:in `loop'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/worker.rb:54:in
`process_queue'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/worker.rb:90:in
`block (2 levels) in create_threads'

Bundler Error Backtrace:
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/rubygems_gem_installer.rb:133:in
`rescue in strict_rm_rf'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/rubygems_gem_installer.rb:128:in
`strict_rm_rf'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/rubygems_gem_installer.rb:19:in
`install'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/source/rubygems.rb:205:in
`install'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/installer/gem_installer.rb:54:in
`install'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/installer/gem_installer.rb:16:in
`install_from_spec'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/installer/parallel_installer.rb:132:in
`do_install'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/installer/parallel_installer.rb:123:in
`block in worker_pool'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/worker.rb:62:in
`apply_func'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/worker.rb:57:in
`block in process_queue'
  <internal:kernel>:187:in `loop'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/worker.rb:54:in
`process_queue'
C:/Users/1/.local/share/gem/ruby/3.3.0/gems/bundler-2.5.7/lib/bundler/worker.rb:90:in
`block (2 levels) in create_threads'

An error occurred while installing bigdecimal (3.1.7), and Bundler cannot
continue.

In Gemfile:
  hanami-validations was resolved to 2.1.0, which depends on
    dry-validation was resolved to 1.10.0, which depends on
      dry-schema was resolved to 1.13.3, which depends on
        dry-types was resolved to 1.7.2, which depends on
          bigdecimal

Can you tell me what the problem is? (I’m a beginner, I use Windows).

Hi @Kolockifa, thanks for trying Hanami!

Unfortunately I’m not a Windows user, so I can’t personally replicate your issues, but from the looks of those error messages, this might be more an issue with your general Ruby installation rather than Hanami specifically.

The errors look to be related to permissions: both the gem pristine and bundle install commands are failing with “Permission denied” errors for files kept in C:/Users/1/.local/share/gem/ruby. Can you double check the permissions of the .local/share/gem/ directory? Perhaps you can bulk re-assign ownership of that directory (and all its children) to the user that is running those gem and bundle commands? I expect that should fix it for you.

I double-checked all the rights, everything seems to be in place. I also tried reinstalling ruby. Do you think the situation could get better if I switch to Linux?

@Kolockifa I haven’t personally tried Ruby on Windows, but from my own vantage point, I think you’d more likely find success using Linux, simply because there are more Ruby users and tools focused on that platform. Windows has the Windows Subsystem for Linux, which would let you use a proper Linux environment from within Windows, so perhaps that would be worth a try?