Quando corro bundle install
para o meu projeto do Rails 3 no Centos 5.5, ele falha com um erro:
Gem::RemoteFetcher::FetchError: SSL_connect returned=1 errno=0 state=SSLv3
read server certificate B: certificate verify failed
(https://bb-m.rubygems.org/gems/multi_json-1.3.2.gem)
An error occured while installing multi_json (1.3.2), and Bundler cannot continue.
Make sure that `gem install multi_json -v '1.3.2'` succeeds before bundling.
Quando tento instalar a gema manualmente (por gem install multi_json -v '1.3.2'
), ela funciona. O mesmo problema ocorre com várias outras jóias. Eu uso o RVM (1.12.3), ruby 1.9.2, empacotador 1.1.3.
Como corrigi-lo?
source "https://rubygems.org''
Corrigi-o adicionando o Gemfile e executando o 'gem update --system'. Você pode encontrar mais informações aqui .Respostas:
Atualizar
Agora que eu tenho karma que extraí o suficiente dessa resposta, todos devem saber que isso deveria ter sido corrigido.
re: via Ownatik novamente a instalação do pacote falha com erro de verificação do certificado SSL
Minha resposta ainda está correta e deixada abaixo para referência, se isso não funcionar para você.
Honestamente, a melhor solução temporária é
via usuário Ownatik
o que eles significam está no topo da
Gemfile
alteração do diretório de aplicativos railssource 'https://rubygems.org'
para
source 'http://rubygems.org'
Observe que a segunda versão é http em vez de http s
fonte
vendor
diretório) para o servidor sobre o qual escrevi na pergunta.Latest version currently installed. Aborting.
outras idéias?gem update --system
falha com exatamente o mesmo erro de certificado: \Substitua a fonte ssl gem por non-ssl como uma solução temporária:
fonte
A razão é rubygems antigos. Você precisa atualizar a parte do sistema usando a fonte não ssl primeiro:
gem update --system --source http://rubygems.org/
(atualizando temporariamente a parte do sistema usando a conexão não-SSL).Agora você está pronto para usar
gem update
.fonte
Se você estiver em um Mac e usar uma versão recente do RVM (~ 1.20), o seguinte comando funcionou para mim.
fonte
Este problema agora deve ser corrigido. Atualize o rubygems (
gem update --system
), verifique se o openssl está na versão mais recente do seu sistema operacional ou tente estas dicas: ele ainda não está funcionando: http://railsapps.github.com/openssl-certificate-verify-failed.htmlfonte
Solução temporária (conforme mencionado pela Ownatik):
Crie ou modifique um arquivo chamado .gemrc no seu caminho inicial, incluindo a linha
:ssl_verify_mode: 0
Isso impedirá que o bundler verifique os certificados SSL de gemas quando tentar instalá-los.
Para dispositivos * nix, 'caminho inicial' significa
~/.gemrc
. Você também pode criar,/etc/gemrc
se preferir. Para o Windows XP, 'caminho inicial' significac:\Documents and Settings\All Users\Application Data\gemrc
. Para o Windows 7,C:\ProgramData\gemrc
fonte
%USERPROFILE%\.gemrc
também é pesquisadogem
no Windows.~/.gemrc
::sources: - http://rubygems.org
No windows7, você pode baixar o arquivo cacert.pem a partir daqui e definir o SSL_CERT_FILE variável do ambiente como o caminho onde você armazena o certificado, por exemplo
ou você pode definir a variável em seu script como esta
ENV['SSL_CERT_FILE']="C:/users/<username>/cacert.pem"
Substitua <username> por seu próprio nome de usuário.
fonte
A solução real para esse problema, se você estiver usando o RVM:
gem update --system
rvm osx-ssl-certs update all
Dica de chapéu para esta dica no projeto RailsApps !
fonte
rvm osx-ssl-certs update all
funcionou bem para mim. Necessidade não funcionavam para fazer passo 1.Você pode fazer o download de uma lista de certificados CA no site da curl em http://curl.haxx.se/ca/cacert.pem
Em seguida, defina a variável de ambiente SSL_CERT_FILE para solicitar ao Ruby que a use. Por exemplo, no Linux:
(Referência: https://gist.github.com/fnichol/867550 )
fonte
Para aqueles que possuem o ruby instalado através do RVM e desejam uma solução rápida (preferindo não ler de acordo com a solicitação de Bruno), tente o seguinte:
Para mais detalhes, aqui está o link onde encontrei a solução.
http://railsapps.github.com/openssl-certificate-verify-failed.html
BTW, eu não precisei tocar meus certificados no Ubuntu.
fonte
cacert.pem
ou$rvm_path/usr/ssl
) é realmente o caminho certo a seguir.:ssl_verify_mode: 0
que abre problemas), em oposição a qualquer uma das 3 soluções abaixo, que são a maneira correta de corrigir esse problema.Isso foi corrigido
http://guides.rubygems.org/ssl-certificate-update/
Agora que o RubyGems 2.6.x foi lançado, você pode atualizar manualmente para esta versão.
Faça o download de https://rubygems.org/downloads/rubygems-update-2.6.7.gem
Faça o download do arquivo em um diretório para o qual você possa apontar mais tarde (por exemplo, a raiz do seu disco rígido C :)
Agora, usando seu prompt de comando:
Depois disso, o gem --version deve relatar a nova versão de atualização.
Agora você pode desinstalar com segurança o rubygems-update gem:
fonte
Instruções simples para copiar e colar, fornecidas aqui sobre o arquivo .pem
https://gist.github.com/luislavena/f064211759ee0f806c88
Falha na verificação do certificado
fonte
mesmo problema, mas com gemas diferentes aqui:
solução temporária:
gem install builder -v '3.0.0'
permite continuarbundle install
fonte
A solução mais simples:
Voila!
fonte
É assim que você corrige esse problema no Windows:
faça o download do arquivo .perm e defina o SSL_CERT_FILE no prompt de comando
https://gist.github.com/fnichol/867550
fonte
Minha correção permanente para Windows:
Faça o download do CACert , salve a partir
C:\ruby\ssl_certs\GlobalSignRootCA.pem
de http://guides.rubygems.org/ssl-certificate-update/Crie a variável do sistema denominada " SSL_CERT_FILE ", configurada como
C:\ruby\ssl_certs\GlobalSignRootCA.pem
.Tente novamente
gem install bundler
::fonte
Eu recebo um erro um pouco diferente, embora talvez relacionado, no Ubuntu 12.04:
Isso acontece quando eu corro
bundle install
comsource 'https://rubygems.org'
um Gemfile.Este é um problema com o OpenSSL no Ubuntu 12.04. Veja Rubygems edição # 319 .
Para corrigir isso, execute o
apt-get update && apt-get upgrade
Ubuntu 12.04 para atualizar seu OpenSSL.fonte
Eu fui capaz de rastrear isso até o fato de que os binários que
rvm
baixam não são bons com o OpenSSL do OS X, que é antigo e não é mais usado pelo sistema operacional.A solução para mim foi forçar a compilação ao instalar o Ruby via
rvm
:fonte
Thx to @ Alexander.Iljushkin para:
gem update --system --source http://rubygems.org/
Depois que o bundler ainda falhou, a solução foi:
gem install bundler
fonte
Eu estava recebendo um erro semelhante. Aqui está como eu resolvi isso: No diretório do seu caminho, verifique o Gemfile. Edite a fonte no gemfile para http em vez de https e salve-a. Isso pode instalar o bundler sem o problema do certificado SSL.l
fonte
Para máquinas Windows, verifique sua versão gem com
Atualize sua gema da seguinte maneira:
Faça o download do arquivo em um diretório para o qual você possa apontar mais tarde (por exemplo, a raiz do seu disco rígido C :)
Agora, usando seu prompt de comando:
Agora, a instalação do pacote configurável será bem-sucedida sem erro de verificação do certificado SSL.
Instruções mais detalhadas estão aqui
fonte
Isso funcionou para mim:
gem install --local [path to downloaded gem file]
update_rubygems
gem --version
fonte
Eu tive que reinstalar o openssl:
fonte
Recentemente, fui confrontado com esse problema e segui as etapas descritas aqui . Pode haver uma chance de você não estar apontando para o certificado OpenSSL correto. Depois de correr:
e
o pacote completo foi executado!
fonte
Faça o download do rubygems-update-2.6.7.gem .
Agora, usando seu prompt de comando:
Depois disso,
gem --version
deve relatar a nova versão de atualização.Agora você pode desinstalar com segurança o rubygems-update gem:
fonte
Observe que, se você estiver pegando gemas de uma fonte na qual o certificado SSL é confiável por uma autoridade de certificação interna (ou você estiver se conectando a uma fonte externa por meio de um proxy da web da empresa com inspeção SSL), aponte sua variável de ambiente SSL_CERT_FILE para sua cadeia de certificados . Provavelmente, isso requer apenas a exportação do seu certificado raiz do seu repositório de certificados (System Keychain no macOS) para um local acessível a partir do seu shell, ou seja:
fonte
Se você estiver usando
rails-assets
Se você estava usando
https://rails-assets.org/
para gerenciar seus ativos, nenhuma resposta o ajudará. Mesmo convertendo parahttp
não vai ajudar.A correção mais simples é usar essa fonte
http://insecure.rails-assets.org
,. Isso foi mencionado em sua página inicial .fonte
A única coisa que funcionou para mim no sistema Windows herdado e na versão ruby 1.9 é baixar o arquivo cacert em http://guides.rubygems.org/ssl-certificate-update/
E, em seguida, executando o comando abaixo antes de executar a instalação do pacote
fonte