librarian-puppet - сбой проверки сертификата (Faraday::SSLError)

Я пытаюсь использовать librarian-puppet управлять кукольными модулями, но когда я запускаю установку, вот что происходит:

Когда я запускаю, попробуйте установить модули в PuppetfileЯ получаю эту ошибку:

PS C:\wamp64\www\spider\bio\puppet> librarian-puppet install --no-use-v1-api
C:/Ruby23-x64/lib/ruby/2.3.0/net/http.rb:933:in `connect_nonblock': SSL_connect returned=1 errno=0 state=error: certificate verify failed (Faraday::SSLError)

Вот полная трассировка стека:

C:/Ruby23-x64/lib/ruby/2.3.0/net/http.rb:933:in `connect_nonblock': SSL_connect returned=1 errno=0 state=error: certificate verify failed (Faraday::SSLError)
        from C:/Ruby23-x64/lib/ruby/2.3.0/net/http.rb:933:in `connect'
        from C:/Ruby23-x64/lib/ruby/2.3.0/net/http.rb:863:in `do_start'
        from C:/Ruby23-x64/lib/ruby/2.3.0/net/http.rb:852:in `start'
        from C:/Ruby23-x64/lib/ruby/2.3.0/net/http.rb:1398:in `request'
        from C:/Ruby23-x64/lib/ruby/2.3.0/net/http.rb:1156:in `get'
        from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/faraday-0.9.2/lib/faraday/adapter/net_http.rb:80:in `perform_request'
        from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/faraday-0.9.2/lib/faraday/adapter/net_http.rb:40:in `block in call'
        from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/faraday-0.9.2/lib/faraday/adapter/net_http.rb:87:in `with_net_http_connection'
        from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/faraday-0.9.2/lib/faraday/adapter/net_http.rb:32:in `call'
        from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/puppet_forge-2.2.2/lib/puppet_forge/connection/connection_failure.rb:9:in `call'
        from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/faraday-0.9.2/lib/faraday/response.rb:8:in `call'
        from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/faraday_middleware-0.10.1/lib/faraday_middleware/response_middleware.rb:30:in `call'
        from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/puppet_forge-2.2.2/lib/puppet_forge/middleware/symbolify_json.rb:64:in `call'
        from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/faraday-0.9.2/lib/faraday/rack_builder.rb:139:in `build_response'
        from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/faraday-0.9.2/lib/faraday/connection.rb:377:in `run_request'
        from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/faraday-0.9.2/lib/faraday/connection.rb:140:in `get'
        from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/puppet_forge-2.2.2/lib/puppet_forge/v3/base.rb:69:in `request'
        from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/puppet_forge-2.2.2/lib/puppet_forge/v3/base.rb:76:in `find_request'
        from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/puppet_forge-2.2.2/lib/puppet_forge/v3/base.rb:82:in `find'
        from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/librarian-puppet-2.2.3/lib/librarian/puppet/source/forge/repo_v3.rb:42:in `get_module'
        from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/librarian-puppet-2.2.3/lib/librarian/puppet/source/forge/repo_v3.rb:19:in `get_versions'
        from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/librarian-puppet-2.2.3/lib/librarian/puppet/source/forge/repo.rb:15:in `versions'
        from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/librarian-puppet-2.2.3/lib/librarian/puppet/source/forge/repo.rb:42:in `manifests'
        from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/librarian-puppet-2.2.3/lib/librarian/puppet/source/forge.rb:152:in `manifests'
        from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/librarianp-0.6.3/lib/librarian/dependency.rb:155:in `cache_manifests!'
        from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/librarianp-0.6.3/lib/librarian/dependency.rb:151:in `manifests'
        from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/librarianp-0.6.3/lib/librarian/resolver/implementation.rb:159:in `block in resolving_dependency_map_find_manifests'
        from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/librarianp-0.6.3/lib/librarian/resolver/implementation.rb:172:in `block (2 levels) in scope_resolving_dependency'
        from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/librarianp-0.6.3/lib/librarian/resolver/implementation.rb:186:in `block in scope_checking_manifests'
        from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/librarianp-0.6.3/lib/librarian/resolver/implementation.rb:230:in `scope'
        from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/librarianp-0.6.3/lib/librarian/resolver/implementation.rb:185:in `scope_checking_manifests'
        from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/librarianp-0.6.3/lib/librarian/resolver/implementation.rb:171:in `block in scope_resolving_dependency'
        from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/librarianp-0.6.3/lib/librarian/resolver/implementation.rb:230:in `scope'
        from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/librarianp-0.6.3/lib/librarian/resolver/implementation.rb:170:in `scope_resolving_dependency'
        from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/librarianp-0.6.3/lib/librarian/resolver/implementation.rb:158:in `resolving_dependency_map_find_manifests'
        from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/librarianp-0.6.3/lib/librarian/resolver/implementation.rb:65:in `do_resolve'
        from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/librarianp-0.6.3/lib/librarian/resolver/implementation.rb:50:in `resolve'
        from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/librarianp-0.6.3/lib/librarian/resolver.rb:23:in `resolve'
        from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/librarianp-0.6.3/lib/librarian/action/resolve.rb:31:in `run'
        from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/librarian-puppet-2.2.3/lib/librarian/puppet/action/resolve.rb:10:in `run'
        from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/librarian-puppet-2.2.3/lib/librarian/puppet/cli.rb:104:in `resolve!'
        from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/librarian-puppet-2.2.3/lib/librarian/puppet/cli.rb:68:in `install'
        from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/thor-0.19.4/lib/thor/command.rb:27:in `run'
        from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/thor-0.19.4/lib/thor/invocation.rb:126:in `invoke_command'
        from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/thor-0.19.4/lib/thor.rb:369:in `dispatch'
        from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/thor-0.19.4/lib/thor/base.rb:444:in `start'
        from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/librarianp-0.6.3/lib/librarian/cli.rb:26:in `block (2 levels) in bin!'
        from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/librarianp-0.6.3/lib/librarian/cli.rb:31:in `returning_status'
        from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/librarianp-0.6.3/lib/librarian/cli.rb:26:in `block in bin!'
        from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/librarianp-0.6.3/lib/librarian/cli.rb:47:in `with_environment'
        from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/librarianp-0.6.3/lib/librarian/cli.rb:26:in `bin!'
        from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/librarian-puppet-2.2.3/bin/librarian-puppet:7:in `<top (required)>'
        from C:/Ruby23-x64/bin/librarian-puppet:22:in `load'
        from C:/Ruby23-x64/bin/librarian-puppet:22:in `<main>'

Я пытался понизить Ruby до 2.1. И на этот раз я даже не смог установить библиотекаря-марионетку, вот ошибка:

PS C:\wamp64\www\spider\bio> gem install librarian-puppet
ERROR:  Could not find a valid gem 'librarian-puppet' (>= 0), here is why:
          Unable to download data from https://rubygems.org/ - SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (https://api.rubygems.org/latest_specs.4.8.gz)

Я могу установить librarian-puppet с Ruby 2.3, Я могу установить модули индивидуально с puppet install repo-module, Это просто libarian-puppet это не работает. Что-то мне нужно настроить, чтобы заставить это работать?

2 ответа

Кажется, это известная проблема RubyGems.

Очевидно, вам нужно скачать последнюю версию RubyGems и установить ее вручную:

gem install --local C:\rubygems-update-2.6.7.gem
update_rubygems --no-ri --no-rdoc

Тогда должна быть возможность вернуться к автоматической установке:

gem uninstall rubygems-update -x

Связанная страница RubyGems также содержит ссылку на способ добавления доверенного сертификата вручную, если вышеуказанное не работает для вас.

У меня была такая же проблема, поэтому я следовал инструкциям по установке update-rubygemsКогда я запустил его, я получил эту ошибку:

PS C:\wamp64\www\spider\vagrant> update_rubygems --no-ri --no-rdoc
Error: Cannot find RubyGems Update Path!

Я читал об этом, и это происходит с установками Windows Ruby. Вот как это исправить, вам нужно добавить эту строку в update_rubygems файл в папке ruby ​​bin:

gem 'rubygems-update', version

вот где вы добавляете это:

#!C:/Ruby23-x64/bin/ruby.exe
#
# This file was generated by RubyGems.
#
# The application 'rubygems-update' is installed as part of a gem, and
# this file is here to facilitate running it.
#

require 'rubygems'

version = ">= 0.a"
gem 'rubygems-update', version

if ARGV.first
  str = ARGV.first
  str = str.dup.force_encoding("BINARY") if str.respond_to? :force_encoding
  if str =~ /\A_(.*)_\z/ and Gem::Version.correct?($1) then
    version = $1
    ARGV.shift
  end
end

load Gem.bin_path('rubygems-update', 'update_rubygems', version)

Теперь это работает:

PS C:\wamp64\www\spider\vagrant> update_rubygems --no-ri --no-rdoc
RubyGems 2.6.8 installed

=== 2.6.8 / 2016-10-29

Bug fixes:

* Improve SSL verification failure message. Pull request #1751
  by Eric Hodel.
* Ensure `to_spec` falls back on prerelease specs. Pull request
  #1755 by André Arko.
* Update vendored Molinillo to 0.5.3. Pull request #1763 by
  Samuel Giddins.


------------------------------------------------------------------------------

RubyGems installed the following executables:
        C:/Ruby23-x64/bin/gem

Это не исправило librarian-puppet install вопрос к сожалению.

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