`gem install <package>` 404 Не найдено, ошибка: Gem::RemoteFetcher::FetchError

У меня проблемы с RubyGem.

Среда

  1. 64-разрядная версия Windows
  2. Использование Git-Bash в VSCode
  3. Ruby 3.2.0 + devkit, установленный с rubyinstaller.org

Проблема

  1. run gem install bundler выдает это сообщение об ошибке:
$ gem install bundler -V
HEAD https://index.rubygems.org/
200 OK
GET https://index.rubygems.org/info/Kim/.local/share/gem/ruby/3.2.0
404 Not Found
ERROR:  While executing gem ... (Gem::RemoteFetcher::FetchError)
    bad response Not Found 404 (https://index.rubygems.org/info/Kim/.local/share/gem/ruby/3.2.0)
        C:/Ruby31-x64/lib/ruby/3.1.0/rubygems/remote_fetcher.rb:232:in `fetch_http'
        C:/Ruby31-x64/lib/ruby/3.1.0/rubygems/remote_fetcher.rb:248:in `fetch_path'
        C:/Ruby31-x64/lib/ruby/3.1.0/rubygems/resolver/api_set.rb:105:in `versions'
        C:/Ruby31-x64/lib/ruby/3.1.0/rubygems/resolver/api_set.rb:56:in `find_all'
        C:/Ruby31-x64/lib/ruby/3.1.0/rubygems/resolver/composed_set.rb:54:in `block in find_all'
        C:/Ruby31-x64/lib/ruby/3.1.0/rubygems/resolver/composed_set.rb:53:in `map'
        C:/Ruby31-x64/lib/ruby/3.1.0/rubygems/resolver/composed_set.rb:53:in `find_all'
        C:/Ruby31-x64/lib/ruby/3.1.0/rubygems/resolver/best_set.rb:30:in `find_all'
        C:/Ruby31-x64/lib/ruby/3.1.0/rubygems/resolver/installer_set.rb:170:in `find_all'
        C:/Ruby31-x64/lib/ruby/3.1.0/rubygems/resolver/installer_set.rb:61:in `add_always_install'
        C:/Ruby31-x64/lib/ruby/3.1.0/rubygems/dependency_installer.rb:322:in `resolve_dependencies'
        C:/Ruby31-x64/lib/ruby/3.1.0/rubygems/commands/install_command.rb:201:in `install_gem'
        C:/Ruby31-x64/lib/ruby/3.1.0/rubygems/commands/install_command.rb:226:in `block in install_gems'
        C:/Ruby31-x64/lib/ruby/3.1.0/rubygems/commands/install_command.rb:219:in `each'
        C:/Ruby31-x64/lib/ruby/3.1.0/rubygems/commands/install_command.rb:219:in `install_gems'
        C:/Ruby31-x64/lib/ruby/3.1.0/rubygems/commands/install_command.rb:167:in `execute'
        C:/Ruby31-x64/lib/ruby/3.1.0/rubygems/command.rb:323:in `invoke_with_build_args'
        C:/Ruby31-x64/lib/ruby/3.1.0/rubygems/command_manager.rb:185:in `process_args'
        C:/Ruby31-x64/lib/ruby/3.1.0/rubygems/command_manager.rb:149:in `run'
        C:/Ruby31-x64/lib/ruby/3.1.0/rubygems/gem_runner.rb:51:in `run'
        C:/Ruby31-x64/bin/gem:21:in `<main>'
  1. run gem env выдает это сообщение об ошибке:
$ gem env
ERROR:  While executing gem ... (Gem::CommandLineError)
    Unknown environment option [Kim/.local/share/gem/ruby/3.2.0]
        C:/Ruby31-x64/lib/ruby/3.1.0/rubygems/commands/environment_command.rb:93:in `execute'
        C:/Ruby31-x64/lib/ruby/3.1.0/rubygems/command.rb:323:in `invoke_with_build_args'
        C:/Ruby31-x64/lib/ruby/3.1.0/rubygems/command_manager.rb:185:in `process_args'
        C:/Ruby31-x64/lib/ruby/3.1.0/rubygems/command_manager.rb:149:in `run'
        C:/Ruby31-x64/lib/ruby/3.1.0/rubygems/gem_runner.rb:51:in `run'

Что может быть причиной этой проблемы? Какие шаги я могу предпринять, чтобы решить эту проблему?

Спасибо.

🤔 А знаете ли вы, что...
Фреймворк предоставляет средства для масштабирования приложений, включая работу с множеством серверов и балансировку нагрузки.


1
51
1

Ответ:

Решено

Эти строки указывают на то, что среда вашей оболочки настроена неправильно:

GET https://index.rubygems.org/info/Kim/.local/share/gem/ruby/3.2.0
404 Not Found
ERROR:  While executing gem ... (Gem::RemoteFetcher::FetchError)
    bad response Not Found 404 (https://index.rubygems.org/info/Kim/.local/share/gem/ruby/3.2.0)

Вместо этого вы должны увидеть это:

HEAD https://index.rubygems.org/
200 OK
GET https://index.rubygems.org/info/bundler
200 OK

Эта строка также указывает на неправильную конфигурацию:

Unknown environment option [Kim/.local/share/gem/ruby/3.2.0]

Скорее всего, это вызвано неверным содержимым файла gemrc или .gemrc. Расположение этого файла в Windows различается, поэтому я бы рекомендовал искать его в следующих местах:

  1. %USERPROFILE% (обычно C:\Users\<your username>
  2. C:\ProgramData
  3. C:\Ruby31-x64

Если вы не можете найти файл ни в одном из этих мест, выполните поиск C:\, чтобы найти его.

Найдя его, вы можете либо отредактировать файл, чтобы удалить недопустимые значения, либо удалить его полностью. (или, что предпочтительнее, переименуйте его, чтобы при необходимости можно было восстановить)