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
вопрос к сожалению.